Pandas新手:我如何根据列的内容分配值?

2024-06-28 18:53:35 发布

您现在位置:Python中文网/ 问答频道 /正文

我想创建一个新列,根据pet1是否包含单词“cat”或单词“dog”指定一个数值

    pet1           
0   dog             
1   dog;cat;rabbit  
2   cat;dog         
3   manbearpig      
4   hippo           

我希望最终结果如下:

^{pr2}$

我该怎么做?在

在 我是一个完全的编程新手,一直在试验熊猫。我很抱歉,这是一个完全的新手问题。 在


Tags: 编程单词cat数值rabbitdog新手hippo
1条回答
网友
1楼 · 发布于 2024-06-28 18:53:35

您可以使用字符串方法^{}进行此操作。
从该数据帧开始:

In [96]: df
Out[96]:
             pet1
0             dog
1  dog;cat;rabbit
2         cat;dog
3      manbearpig
4           hippo

您可以检查每个元素是否包含子字符串“dog”:

^{pr2}$

然后乘以5得到你想要的结果:

In [98]: df['pet1'].str.contains('dog') * 5
Out[98]:
0    5
1    5
2    5
3    0
4    0
Name: pet1, dtype: int32

相关问题 更多 >