gpt4 book ai didi

python - 使用列表理解 (Pandas) 从 DataFrame 列表中删除 DataFrame 的列

转载 作者:行者123 更新时间:2023-11-28 21:40:53 27 4
gpt4 key购买 nike

我有一个具有相同列和不同值的 DataFrame 列表。我想在 pandas 的一行中删除 DataFrame 列表中的一些列。

到目前为止,我试过了(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' object has no attribute 'drop'

type(dfs)
>> list

但是,当我可以使用 for 循环遍历列表 dfs 中的每个 DataFRame 时,我可以删除这些列。

我怎样才能在 pandas 中以列表理解的方式做到这一点?

最佳答案

假设您想要删除 ['var1', 'var2'] 列,并且您的数据帧具有相同的列,您应该使用 for 循环。

for df in dfs:
df.drop(['var1', 'var2'], axis=1, inplace=True)

或者,你也可以使用这个:

dfs = [df.drop(['var1', 'var2'], axis=1) for df in dfs]

省略 inplace=True 将导致 df.drop 返回一个数据帧,而不是就地更新并返回 None。

关于python - 使用列表理解 (Pandas) 从 DataFrame 列表中删除 DataFrame 的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45199515/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com