gpt4 book ai didi

python - 如何根据另一列更改数据框列中的值?

转载 作者:太空宇宙 更新时间:2023-11-03 14:16:10 24 4
gpt4 key购买 nike

我有一个数据框,我想将函数传递到特定列:

enter image description here

希望根据某些要求更改“ channel ”列值:

if 'Facebook' or 'FacebookPaid' or 'FacebookFree' in df['utm_Campaign']:
df['Channel'] = 'FB'
elif 'Newsletter' in df['utm_Campaign']:
df['Channel'] = 'Email'
else:
if 'YoutubePaid' in df['utm_Campaign']:
df['Channel'] = 'Youtube Direct'

基本上,如果同一行的另一列 (utm_Campaign) 中包含单词“Facebook”,则数据帧的“ channel ”列中的字符串将设置为“FB”。

不知道该怎么办。我是否映射一个函数,或者执行 df.replace,或者其他什么?

最佳答案

您可以通过 str.contains 创建条件然后使用 numpy.select :

m1 = df['utm_Campaign'].str.contains('Facebook|FacebookPaid|FacebookFree')
m2 = df['utm_Campaign'].str.contains('Newsletter')
m3 = df['utm_Campaign'].str.contains('YoutubePaid')

df['Channel'] = np.select([m1,m2,m3], ['FB','Email','Youtube Direct'], default='no match')

关于python - 如何根据另一列更改数据框列中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48228211/

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