我有一些熊猫DataFrame,我试图找到一种很好的方法来计算和绘制跨DataFrame的每个唯一条目的次数。例如,如果我有以下两个DataFrame:

    year    month
0    1900    1
1    1950    2
2    2000    3

    year    month
0    1900    1
1    1975    2
2    2000    3


我在想,也许有一种方法可以将它们组合到单个DataFrame中,同时使用新列counts来跟踪在任何DataFrame中出现的year + month唯一组合的次数。从那里我可以算出year + month组合及其对应的计数。

    year    month    counts
0    1900    1        2
1    1950    2        1
2    2000    3        2
3    1975    2        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

关于python - 结合 Pandas DataFrame以提供唯一的元素计数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50690757/

10-16 02:40