python - 如何使用 Pandas 数据框另一列的句子部分创建新列?

标签 python pandas

我有一个这样的数据框:

我想对句子是否包含catdogNone进行分类。

df = pd.DataFrame({'comment': ['this is a dog', 'beautiful dog', 'nice cat!', 'this is a tree']})

如何创建一个名为“label”并具有以下值的新列?

df['label'] = ['dog','dog','cat', None]

要求的输出:

          comment label
0   this is a dog   dog
1   beautiful dog   dog
2       nice cat!   cat
3  this is a tree  None

最佳答案

这是一种方法findall

df['label'] = df.comment.str.findall('|'.join(['cat','dog'])).str[0]
Out[10]: 
0    dog
1    dog
2    cat
3    NaN
Name: comment, dtype: object

或者

r='(cat|dog)'
df['label'] = df.comment.str.extract(r)

关于python - 如何使用 Pandas 数据框另一列的句子部分创建新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57666649/

相关文章:

python - Python 中的操作

python - Seaborn 和 pd.scatter_matrix() 绘图颜色问题

python - 如何创建模块列表列表

python - 具有多索引的 Pandas 长格式到宽格式

python - 批量发出请求时出现编码问题?

python - 获取 sympy 矩阵的形状

python - 有条件的 Pandas 行向变换

python - 限制从 Pandas 中的数据框显示的最大列数

python - Pandas:根据条件删除每组的行

python - Pandas 将行附加到具有两个索引的数据帧