gpt4 book ai didi

基于第二列的 Pandas DataFrame 过滤

转载 作者:行者123 更新时间:2023-12-01 23:11:46 25 4
gpt4 key购买 nike

我有一个名为 names 的 Pandas Dataframe,如下所示:

name        status
A X
B Y
C Z
D X

我想要获取名称列(例如 names['name']),但仅限于不具有状态 Y 或 Z 的名称。

所以结果应该是:

name        status
A X
D X

我该怎么做?

最佳答案

使用isin生成 bool 掩码并使用 ~ 对其取反:

In [230]:
df[~df['status'].isin(['Y','Z'])]

Out[230]:
name status
0 A X
3 D X

isin的结果:

In [231]:
df['status'].isin(['Y','Z'])

Out[231]:
0 False
1 True
2 True
3 False
Name: status, dtype: bool

然后您可以像这样访问“名称”列:

In [232]:
df.loc[~df['status'].isin(['Y','Z']),'name']

Out[232]:
0 A
3 D
Name: name, dtype: object

关于基于第二列的 Pandas DataFrame 过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31317375/

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