结合pandas DataFrames以提供唯一的元素计数

时间:2018-06-05 01:17:53

标签: python pandas dataframe

我有一些pandas DataFrames,我正在尝试找到一种很好的方法来计算和绘制每个唯一条目在DataFrame中发生的次数。例如,如果我有以下2个DataFrames:

    year    month
0    1900    1
1    1950    2
2    2000    3

    year    month
0    1900    1
1    1975    2
2    2000    3

我想也许有一种方法可以将它们组合到一个DataFrame中,同时使用新列counts来跟踪year + month的唯一组合在任何一个中发生的次数DataFrames。从那里我想我可以将year + month组合与其相应的计数进行分散。

    year    month    counts
0    1900    1        2
1    1950    2        1
2    2000    3        2
3    1975    2        1

有没有很好的方法来实现这个目标?

1 个答案:

答案 0 :(得分:1)

concat然后使用groupby agg

pd.concat([df1,df2]).groupby('year').month.agg(['count','first']).reset_index().rename(columns={'first':'month'})
Out[467]: 
   year  count  month
0  1900      2      1
1  1950      1      2
2  1975      1      2
3  2000      2      3