Home > OS >  Concat and drop columns function
Concat and drop columns function

Time:12-17

I normally use the common python codes to concat a few columns and drop the rest. But when I try to create it in a function (def), it doesn’t work. And I am pretty sure that I’m not doing it in the correct way. Can anyone support with this please?

def prepocessor_concat():
    df[‘1’] = df[‘2’]   df[‘3’]   [‘4’]
    df.drop([‘2’, ‘3’, ‘4’,],    axis=1, inplace=True

CodePudding user response:

You mentioned "concatenation", but your intent seems to be focused on "addition". This function demonstrates both operations.

df_example = pd.DataFrame([
        {"2":  6,  "3":  7,  "4":  8,  "5":  9},
        {"2": 16,  "3": 17,  "4": 18,  "5": 19},
])

def preprocessor_concat(df):
    print(pd.concat([df["2"], df["3"], df["4"]], axis="rows"))
    print("\n")
    df["1"] = df_example.pop("2")   df_example.pop("3")   df_example.pop("4")
    print(df)

preprocessor_concat(df_example)

output

0     6
1    16
0     7
1    17
0     8
1    18
dtype: int64

    5   1
0   9  21
1  19  51

Notice that the shape of the row concatenation result is different from the original dataframe shape. You will need compatible shapes across all columns. Or do what we see above: produce a brand new dataframe.

  • Related