gpt4 book ai didi

python - 删除 pandas 中其他行中包含字符串的行

转载 作者:行者123 更新时间:2023-12-02 05:59:01 26 4
gpt4 key购买 nike

给定这种形式的数据框:

 ID      A
130 Yes
130-1 Yes
130-2 Yes
200 No
201 No
201-10 No
201-101 Yes
201-22 Yes
300 No

我想删除其他行中连字符 (-) 之前另一个字符串中存在的 ID 列中具有值的行因此,基于此,我会删除值 201,因为有 201-10201-101 等。

预期输出:

 ID      A
130-1 Yes
130-2 Yes
200 No
201-10 No
201-101 Yes
201-22 Yes
300 No

最佳答案

使用duplicated以及一些按位运算。这确实依赖于不带连字符的值位于带连字符的值之前。

<小时/>
s = df['ID'].str.split('-').str[0]
m = s.duplicated(keep=False) ^ s.duplicated()

df[~m]

        ID    A
1 130-1 Yes
2 130-2 Yes
3 200 No
5 201-10 No
6 201-101 Yes
7 201-22 Yes
8 300 No

关于python - 删除 pandas 中其他行中包含字符串的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58821180/

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