gpt4 book ai didi

python - Pandas 数据框列中的成员资格测试

转载 作者:太空宇宙 更新时间:2023-11-03 14:56:18 25 4
gpt4 key购买 nike

我有一个 pandas 数据框,其中一列是一个列表。请看下面:

>>> a.head
C1 C2
0 23 [2,4,5,8,1]
1 24 [1,2]
2 15 [-2]
3 19 [1,3,4,5,6,7,8,9,0]

我想在 C2 中找到包含 6 的行并返回 C1 中的值。我想到了类似的东西

b = a["C1"][(6 in a["C2"])]
return(int(b))

但它不起作用。谢谢。

最佳答案

我认为您需要applyin 来获取list 中的测试值,以创建 bool 掩码:

print (a.C2.apply(lambda x: 6 in x))
0 False
1 False
2 False
3 True
Name: C2, dtype: bool

然后使用locboolean indexing通过 mask 选择:

b = a.loc[a.C2.apply(lambda x: 6 in x), 'C1']
print (b)
3 19
Name: C1, dtype: int64

如果需要将标量输出转换为 numpy 数组 并通过 [] 选择第一个值:

print (b.values)
[19]

print (b.values[0])
19

或者使用iatiloc :

print (b.iat[0])
19

print (b.iloc[0])
19

关于python - Pandas 数据框列中的成员资格测试,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42268549/

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