我有一个包含3列的数据集:“类别”,“国家/地区”和“计数”(始终为1-实际上是毫无用处的。)
我要实现的功能类似于此处的黄色列:
我可以在python中进行简单的分组,但这不是我想要的,因为我想保留数据的各个行,与下面的图像不同(将它们分组):
我只是想根据两列来获得频率,而没有将其分组,有什么想法吗?我曾考虑过使用for循环进行迭代,但是我做不到,因为我是python的初学者,所以深切感谢您的帮助。
答案 0 :(得分:0)
似乎您要在此处使用transform
。这样会在您的数据框中创建一个新列,其中包含您要查找的分组摘要统计信息。
import pandas as pd
df = pd.DataFrame({'category_cluster' : ['Assault', 'Assault', 'Assault', 'Assault', 'Assault', 'Assault', 'Assault'],
'Country': ['Egypt', 'India', 'India', 'Mexico', 'Mexico', 'Mexico', 'Morocco'],
'Count' : [1, 1, 1, 1, 1, 1, 1]})
df['new_column'] = df.groupby(['category_cluster', 'Country'])['Count'].transform('sum')