我是熊猫的新手,我希望能够获取每个人的实例数并将其作为一个列馈入另一个Dataframe中。在按用户列进行分组之前,我已经从数据框中删除了NaN值
我已经尝试过了,但是似乎没有用
DF["NumInstances"] = userGrp["user"].value_counts()
我已经浏览了互联网,但似乎找不到解决方案,请提供帮助。
编辑:样本数据和预期结果
[{"user" : "4",
"Instance": "21"},
{"user" : "4",
"Instance": "6"},
{"user" : "5",
"Instance" : "546453"}]
预期结果:
DataFrame =
[{"user":"4",
"NumInstances" : "2"},
{"user":"5",
"NumInstances" : "1"}]
因此,基本上可以算出每个用户跨数据条目执行实例的次数。
答案 0 :(得分:1)
根据您的示例输入,您可以执行以下操作:
In [2535]: df = pd.DataFrame([{"user" : "4",
...: "Instance": "21"},
...: {"user" : "4",
...: "Instance": "6"},
...: {"user" : "5",
...: "Instance" : "546453"}])
In [2539]: df.groupby('user', as_index=False).count()
Out[2539]:
user Instance
0 4 2
1 5 1
答案 1 :(得分:0)
如果DF是数据集的名称,“用户”是您要分组依据的列的名称,请尝试:
count = DF.groupby(“ user”)。count()
打印(计数)
答案 2 :(得分:0)
我使用以下解决方案,将创建一个新的数据框,其中包含名为“ user”和“ NumInstances”的列:
df_counts = df.groupby(['user']).size().reset_index(name='NumInstances')
希望有帮助。