[英]Sum first occurence of value from two columns in different dataframes
我有两个看起来像这样的数据框:
df1
Category Year cat_counts
43 5.0 1988 1
44 1.0 1987 4
45 3.0 1987 3
46 3.0 1987 3
47 1.0 1987 4
48 2.0 1985 2
49 3.0 1985 3
50 1.0 1983 4
51 1.0 1983 4
52 2.0 1982 2
53 4.0 1980 1
df2
Category Year cat_counts
91 2.0 1989 6
92 2.0 1989 6
93 1.0 1988 10
94 2.0 1988 6
95 1.0 1987 10
96 2.0 1987 6
97 1.0 1987 10
98 1.0 1987 10
99 5.0 1985 2
100 1.0 1985 10
101 2.0 1985 6
102 4.0 1985 1
103 5.0 1985 2
104 1.0 1983 10
105 2.0 1983 6
106 1.0 1983 10
107 1.0 1982 10
108 1.0 1982 10
109 3.0 1982 1
110 1.0 1981 10
'cat_counts' 列计算一个类别的频率,然后将该频率与它出现的类别相关联。 例如,在 df1 中,有 4 个 'Category' = 1 的实例,因此关联的 'cat_counts'=4 并应用于 'Category'=1 的任何地方。
现在,我想为两个 dfs 将“cat_count”中的值加在一起,但我只想在“Category”中保留该值的一个实例,并且它与“cat_count”相关联。
对于此示例,我的预期输出如下所示:
Category cat_counts
1 11
2 8
3 4
4 2
5 3
concat
然后value_counts
pd.concat([df1, df2])['Category'].value_counts()
1.0 14
2.0 8
3.0 4
5.0 3
4.0 2
Name: Category, dtype: int64
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.