簡體   English   中英

熊貓新手:如何根據列的內容分配值?

[英]Pandas newbie: How do I assign values based on content of columns?

我想創建一個新列,並根據pet1包含單詞“ cat”還是單詞“ dog”分配數值

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

我希望最終結果如下:

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

我該怎么做呢?

我是一個完全編碼的新手,並且一直在嘗試熊貓。 抱歉,這是一個完整的新手問題。

您可以使用contains的字符串方法。
從此數據幀開始:

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

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

In [97]: df['pet1'].str.contains('dog')
Out[97]:
0     True
1     True
2     True
3    False
4    False
Name: pet1, dtype: bool

然后乘以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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM