gpt4 book ai didi

python - 如果元素在元组中,则选择 pandas DataFrame 行

转载 作者:行者123 更新时间:2023-12-04 10:45:24 25 4
gpt4 key购买 nike

假设这是我的 df

   A     B
0 a (33,32)
1 b (44,33)
2 a 32
3 a (66,33)
4 b (77,34,12)
5 c (88,1,55)

其中 B 列值是元组我需要得到类似 df[df['B']contain 33]

   A     B
0 a (33,32)
1 b (44,33)
3 a (66,33)

有什么办法可以实现吗?

最佳答案

如果有元组的混合数字,首先将整数转换为元组:

df['B'] = df['B'].apply(lambda x: x if isinstance(x, tuple) else (x,))

然后过滤元组中的值,例如:

df = df[df.B.apply(lambda x: 33 in x)]

或者:

df = df[[33 in x for x in df.B]]

或者:

df = df[pd.DataFrame(df.B.tolist()).eq(33).any(axis=1)]

print (df)
A B
0 a (33, 32)
1 b (44, 33)
3 a (66, 33)

关于python - 如果元素在元组中,则选择 pandas DataFrame 行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59728654/

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