繁体   English   中英

将不同数据帧中两列中第一次出现的值相加

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM