gpt4 book ai didi

python - 在附加列等于特定字符串的情况下向重复项添加后缀

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

我正在尝试向所有重复的值添加 -US 后缀,并且 additoanl country 列等于 US。下面是我的 DataFrame df 的一个片段。

 product_num      country
101 US
101 Ireland
302 US
303 Scotland
304 France
305 US
305 Germany
306 US
307 US

我想要的输出如下所示。

   product_num      country
101-US US
101 Ireland
302 US
303 Scotland
304 France
305-US US
305 Germany
306 US
307 US

最佳答案

通过链接创建掩码 Series.duplicated使用 keep='False' 对所有 dupes 进行比较,并将 country 列与 Series.eq 进行比较并仅将过滤后的行设置为添加了后缀字符串的字符串:

m = df.duplicated('product_num', keep=False) & df['country'].eq('US')
df.loc[m, 'product_num'] = df.loc[m, 'product_num'].astype(str) + '-US'

替代解决方案 numpy.where :

df['product_num'] = np.where(m, df['product_num'].astype(str) + '-US', df['product_num'])

print (df)
product_num country
0 101-US US
1 101 Ireland
2 302 US
3 303 Scotland
4 304 France
5 305-US US
6 305 Germany
7 306 US
8 307 US

关于python - 在附加列等于特定字符串的情况下向重复项添加后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60771503/

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