【发布时间】:2021-07-01 10:37:04
【问题描述】:
我有这种df...
Modules
X Y
1 1 A
2 B
45 C
2 13 A
12 B
3 18 A
16 B
15 D
我想计算每个 X 值的 Y 值的数量并将其添加为一列,如下所示:
Modules Count
X Y
1 1 A 3
2 B 3
45 C 3
2 13 A 2
12 B 2
3 18 A 3
16 B 3
15 D 3
目前我已经尝试过:
df['Count']=df.index.get_level_values(0).value_counts()
这给了我一个 NaN 列表,然后我尝试了:
df['Count']=df.index.value_counts()
这显然给了我一个 1 的列表。
谁能帮帮我?
【问题讨论】:
-
请使用
df.to_dict()并发布结果ehre,以便我们有复制/粘贴数据。 -
这能回答你的问题吗? Pandas multi-index count occurrences
-
@AmitGupta 不,因为我只需要 X 的出现次数,无论 Y 值是多少。
-
@Andreas {'X': {0: 1, 1: 1, 2: 1, 3: 2, 4: 2, 5: 3, 6: 3, 7: 3}, ' Y':{0:1、1:1、2:45、3:13、4:12、5:18、6:16、7:15},'模块':{0:'A',1: 'B', 2: 'C', 3: 'A', 4: 'B', 5: 'A', 6: 'B', 7: 'D'}} 是你想要的吗?抱歉,我是 StackOverflow 的新手
-
使用 Panda 的问题链接,而不是按 2 列分组,只按您感兴趣的那一列分组。那应该可以得到您正在寻找的结果正确吗?
标签: python pandas dataframe multi-index