首页 > 解决方案 > 如何修复函数以使生成的数据框只有子集列?

问题描述

尝试对数据框进行子集化以从给定数据框中删除/删除某些列 请帮助我修复此功能

dataframe = pd.DataFrame({
    "X": range(10),
    "Y": range(10,20),
    "Z": range(5,15)
})

def subset_dataframe(dataframe, drop_cols):
    subset_df = data.drop([drop_cols], inplace=True)
    return subset_df


subsetted_df = subset_dataframe(dataframe, drop_cols=["x", "z"]) 

标签: pythonpandasdataframe

解决方案


dataframe = pd.DataFrame({ "X": range(10), "Y": range(10,20), "Z": range(5,15) })

def subset_dataframe(dataframe, drop_cols): subset_df = data.drop(columns = [drop_cols], inplace=True) return subset_df

subsetted_df = subset_dataframe(dataframe, drop_cols=["x", "z"]) 

在 data.drop($) 中添加列

编辑1:

最终功能:

dataframe = pd.DataFrame({ "X": range(10), "Y": range(10,20), "Z": range(5,15) })

def subset_dataframe(dataframe, drop_cols): 
    subset_df = dataframe.drop(columns = drop_cols) 
    return subset_df

subsetted_df = subset_dataframe(dataframe, drop_cols=["X", "Z"])

编辑2:

如果添加inplace = True,则返回Nonetype中的对象,并且subset_df中没有存储任何内容。还要检查语法。编辑 1 中的最终功能有效。希望这可以帮助 :)


推荐阅读