【发布时间】:2017-12-25 06:05:34
【问题描述】:
我有一个具有相同列和不同值的 DataFrame 列表。我想在 pandas 的一行中从 DataFrames 列表中删除一些列。
到目前为止,我试过了(dfs 有数据框列表)
dfs.drop([col for col in ['var1', 'var2'] if col in dfs], axis=1, inplace=True)
和
dfs[dfs.drop([col for col in ['var1', 'var2'] if col in dfs], axis=1, inplace=True)]
两者都给出相同的错误:
AttributeError: 'list' 对象没有属性 'drop'
type(dfs)
>> list
但是,当我可以使用for 循环遍历列表dfs 中的每个DataFRame 时,我可以删除这些列。
如何以熊猫的列表理解方式做到这一点?
【问题讨论】:
-
但是
dfs是列表,而不是单个数据框。 -
列表推导式不是解决这个问题的惯用方法。
-
dfs是一个数据帧列表 -
@COLDSPEED 好的,我想知道我是否可以在列表理解中做。谢谢建议,我会继续使用常规的
for循环 -
@i.n.n.m 并不是说你做不到……你可以。但为什么呢?
标签: python list pandas dataframe list-comprehension