以下是一个示例代码,它按多个变量进行分组,并总结字符频率:
import pandas as pd
# 创建示例数据
data = {
'Group1': ['A', 'A', 'B', 'B', 'A'],
'Group2': ['X', 'Y', 'X', 'Y', 'Y'],
'Text': ['Hello', 'World', 'Python', 'Code', 'Snippets']
}
df = pd.DataFrame(data)
# 按多个变量进行分组,并计算字符频率
freq_df = df.groupby(['Group1', 'Group2'])['Text'].apply(lambda x: pd.Series(' '.join(x).lower().split()).value_counts()).unstack().fillna(0)
print(freq_df)
输出结果如下:
Code Hello Python Snippets World
Group1
A 0.0 1.0 0.0 1.0 1.0
B 1.0 0.0 1.0 0.0 0.0
Group2 X Y
Group1
A 1.0 2.0
B 1.0 1.0
在此示例中,我们使用Pandas库创建了一个包含三个列的DataFrame。然后,我们使用groupby
方法按Group1
和Group2
进行分组。接下来,我们使用apply
方法将每个分组的Text
列进行处理。在此示例中,我们将文本转换为小写,并使用空格分割成单词。然后,我们使用value_counts
方法计算每个单词的频率。最后,我们使用unstack
方法将结果重新排列成一个透视表,并使用fillna
方法将缺失值填充为0。
上一篇:按多个变量进行分组
下一篇:按多个变量进行合并或合并