gpt4 book ai didi

python - Pandas:根据唯一值获取行中对应的列值

转载 作者:太空狗 更新时间:2023-10-30 02:17:36 25 4
gpt4 key购买 nike

我已经找到了获取所需信息的方法,但如果没有更好、更易读的方法,我会感到很惊讶。

我想获取包含我指定的数据元素的行中不同列中的值。例如,b 列中的值与 a 列中的 11 值相对应。

>>> df
a b c
0 10 20 30
1 11 21 31
2 12 22 32

>>> df['b'][df[df['a'] == 11].index.tolist()].tolist()
[21]

这就是我目前解决它的方法,但实际上我的数据帧没有那么简洁地命名,而且我有很长的字符串作为列名,所以这行很难阅读。

编辑:如果“a”中的值不是唯一的,是否还有一种方法可以获取“b”中的所有对应值?

最佳答案

您可以使用带有 loc 的 bool 掩码来返回满足 bool 条件的所有行,这里我们用条件 'a' == 11 和满足条件的地方来掩码 df返回 '​​b' 的所有值:

In [120]:
df = pd.DataFrame({'a':[10,11,11],'b':np.arange(3), 'c':np.random.randn(3)})
df

Out[120]:
a b c
0 10 0 -1.572926
1 11 1 -0.639703
2 11 2 -1.282575

In [121]:
df.loc[df['a'] == 11,'b']

Out[121]:
1 1
2 2
Name: b, dtype: int32

关于python - Pandas:根据唯一值获取行中对应的列值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40047224/

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