我有这个数据集:
+-----------------------------------+------------+----------------------+
| A | B | C |
+-----------------------------------+------------+----------------------+
| Joseph M. Acaba | 2004 |Geology |
| Loren W. Act Solar Physics |
| James C. Adamson | 1984 |Aerospace Egineerig |
+-----------------------------------+------------+--------+
i我想针对C列的每一行检查相应短语中是否存在“工程”或“地质”一词。我希望将结果设置在新列中(“ D”),如下例所示:
+----------------------+------------+----------------------+---------+
| A | B | C | D |
+----------------------+------------+----------------------+---------+
| Joseph M. Acaba | 2004 |Geology |True
| Loren W. Act | Solar Physics |False
| James C. Adamson | 1984 |Aerospace Egineerig |True
+-----------------------------------+------------+--------+
我尝试过:
check=pd['Undergraduate Major'].str.contains('Engineering'|”Geology”)
print(check)
得到结果:
0 False
1 True
2 True
3 False
4 True
...
352 True
353 False
354 False
355 True
356 False
但是我希望结果成为一个新列,只有“ false”和“ true”。
答案 0 :(得分:3)
如果您的数据框名为df
,请执行以下操作:
df['NewColumnName'] = df['Undergraduate Major'].str.contains('Engineering|Geology')
我建议避免使用pd
作为数据框的名称,因为它通常用于import pandas as pd
中的熊猫。