我想从我的 dataframe 中过滤一些列。最简单的方法是使用“喜欢”的方法(因为我有很多列要删除)。我尝试了 df = df.filter(['a', 'b']) ,就像这里建议的那样:https://stackoverflow.com/questions/45846189/how-to-delete-all-columns-in-dataframe-except-certain-ones。
但是当我这样做时,我所有的专栏都会消失......我不知道我的错误在哪里。
data = pd.concat([pd.read_table(f, encoding='unicode_escape')
.add_suffix(f[+47:-4]) # add prefix
for f in file_list], axis=1)
main_dataframe = pd.DataFrame(data)
main_dataframe = pd.concat([main_dataframe, data], axis = 1)
main_dataframe = main_dataframe.filter(like='date_')
回答1
您的问题似乎有点不清楚,但如果您想删除一些列,但不是全部,并且您有大量列,此代码将允许您轻松控制要从 dataframe 中删除的列并且动态地
data = {
'Column1' : [1, 2, 3, 4, 5],
'Column2' : [10, 20, 30, 40, 50],
'Column3' : [100, 200, 300, 400, 500]
}
df = pd.DataFrame(data)
new_column_list = df.columns.drop(['Column3', 'Column2']).tolist()
df = df[new_column_list]
df
这只是一个示例,因此您可能需要对其进行一些修改,但这应该足以让您开始过滤掉一些不需要的列。