gpt4 book ai didi

python - 根据相同的键删除 Pandas 中的行

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

如何删除 A 列是键的行,并且该键的任何行在 C 列中同时包含“foo”和“moo”

df_之前:

"cat"   |"waverly way"|"foo"|10.0
"cat" |"smokey st" |"moo"|9.7
"rabbit"|"rapid ave" |"foo"|6.6
"rabbit"|"far blvd" |"too"|3.2

df_after:

"rabbit"|"rapid ave"  |"foo"|6.6
"rabbit"|"far blvd" |"too"|3.2

最佳答案

你可以这样做:

df.columns = ['A', 'B', 'C', 'D']

df:

        A            B    C     D
0 cat waverly way foo 10.0
1 cat smokey st moo 9.7
2 rabbit rapid ave foo 6.6
3 rabbit far blvd too 3.2

.

filter = ['foo,moo']
# used transform to concat all the values in column 'C' for a given 'A'
df['C'] = df[['A', 'B', 'C', 'D']].groupby(by=['A'])['C'].transform(lambda x: ','.join(x))

修改后的 df:

        A            B        C     D
0 cat waverly way foo,moo 10.0
1 cat smokey st foo,moo 9.7
2 rabbit rapid ave foo,too 6.6
3 rabbit far blvd foo,too 3.2

.

# applied negative mask to filter values with foo,moo in 'C'
df1 = df.loc[~df['C'].isin(filter)].reset_index(drop=True)

print(df1)

输出:

        A          B        C    D
0 rabbit rapid ave foo,too 6.6
1 rabbit far blvd foo,too 3.2

关于python - 根据相同的键删除 Pandas 中的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62089240/

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