假设我们有一个名为“data”的数据框,它有三列:“group”,“text”,“new_column”。
import pandas as pd
# 创建示例数据
data = pd.DataFrame({'group': ['A', 'A', 'B', 'B'],
'text': ['foo', 'bar', 'baz', 'qux']})
# 创建示例字符串
text_to_match = 'foo'
# 新列将基于“text”中字符串的存在或不存在而创建
data['new_column'] = data['text'].str.contains(text_to_match).astype(int)
# 按组分组
grouped_data = data.groupby('group')
# 对每个组进行操作
for group_name, group_data in grouped_data:
group_data['new_column'] = group_data['text'].str.contains(text_to_match).astype(int)
# 检查新列是否正确创建
print(data)
输出:
group text new_column
0 A foo 1
1 A bar 0
2 B baz 0
3 B qux 0
上一篇:按组创建新列的聚合函数
下一篇:按组创建一个包含平均值的列