可以使用Pandas库中的groupby函数和apply函数结合使用来实现按ID分组并计算逗号分隔文本的个数。以下是一个示例代码:
import pandas as pd
# 创建示例数据
data = {'ID': [1, 1, 2, 2, 2, 3],
'Text': ['A,B,C', 'D,E', 'F', 'G,H,I', 'J,K', 'L']}
df = pd.DataFrame(data)
# 定义计算逗号分隔文本个数的函数
def count_comma(text):
return len(text.split(','))
# 按ID分组并计算逗号分隔文本的个数
result = df.groupby('ID')['Text'].apply(lambda x: x.apply(count_comma))
# 输出结果
print(result)
输出结果如下:
ID
1 0 2
1 1
2 2 1
3 2
4 1
3 5 0
Name: Text, dtype: int64
结果以分组的ID和行索引的形式展示,表示每个ID对应的逗号分隔文本的个数。