gpt4 book ai didi

python - 在Python中的其他列列表中选择具有列值的行

转载 作者:行者123 更新时间:2023-12-05 01:07:30 24 4
gpt4 key购买 nike

我有一个具有以下格式的 Pandas 数据框:

col1  col2  ...      col4
A 2 [2-3-4]
B 3 [2-6]
A 3 [2-3-4]
C 2 [2-3-4]
D 2 [2-3-4]

我只想选择 col2 中的值在 col4 列表中的行。

我尝试使用:

df[(df["col2"].isin(df["col4"].str.split("-"))]

但我得到一个空数据框...

最佳答案

我会在此使用列表推导:

df[[str(a) in b for a,b in zip(df['col2'],df['col4'])]]

  col1  col2     col4
0 A 2 [2-3-4]
2 A 3 [2-3-4]
3 C 2 [2-3-4]
4 D 2 [2-3-4]

或者使用不会匹配 2 和 22 的正则表达式搜索 #thanks @Nk03

import re
df[[bool(re.search(fr'\b{a}\b',b)) for a,b in zip(df['col2'],df['col4'])]]

关于python - 在Python中的其他列列表中选择具有列值的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67357815/

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