gpt4 book ai didi

Python Pandas : Select columns where a specific row satisfies a condition

转载 作者:太空宇宙 更新时间:2023-11-03 16:07:19 26 4
gpt4 key购买 nike

我有一个数据框 dfall,其中有一行标记为“row1”,值为“foo”和“bar”。我只想选择 dfall 中“row1”值为“foo”的列。

换句话说:

dfall= pd.DataFrame([['bar','foo'],['bla','bli']], columns=['col1','col2'], index=['row1','row2'])

我想要结果列“col2”包含:['foo','bli']

我尝试过:

dfall[dfall.loc['row1'].isin(['foo'])]

我收到错误

IndexingError: Unalignable boolean Series key provided

有人可以帮我执行命令吗?提前致谢!

最佳答案

您可以将 df 与标量值进行比较,然后将 anyaxis=0 一起使用,并将此 bool 掩码传递给 ix:

In [324]:
df.ix[:,(df == 'foo').any(axis=0)]

Out[324]:
col2
row1 foo
row2 bli

分解以上内容:

In [325]:
df == 'foo'

Out[325]:
col1 col2
row1 False True
row2 False False

In [326]:
(df == 'foo').any(axis=0)

Out[326]:
col1 False
col2 True
dtype: bool

关于Python Pandas : Select columns where a specific row satisfies a condition,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39662941/

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