python - 将两个 Pandas 数据帧与仅添加整数计数相结合

标签 python pandas

我正在尝试将两个不同长度的 Pandas 数据帧加在一起:

    fruit rating  count
0  apple      A      2
1  pear       B      2
2  peach      A      1
3  apple      B      2
4  pear       C      1  

    fruit rating  count
0   apple       A    0
1   apple       B    0
2   apple       C    0
3   pear        A    0
4   pear        B    0
5   pear        C    0
6  peach        A    0
7  peach        B    0
8  peach        C    0

基本上我想将第一个数据帧的计数整数添加到它下面的第二个数据帧,其中类型和评级相同。例如,由于“梨和 B”,dataframe1 上的索引 1 应将 dataframe2 的索引 4 上的计数加 2 2。

我试过更新功能,但它似乎与索引混淆,只是替换了类型和评级。如果我不擅长解释,请道歉。我仍在学习。非常感谢您的帮助。

最佳答案

您可以在相关索引上尝试groupby:

temp1=first_df.set_index(['fruit','rating'])
temp2=second_df.set_index(['fruit','rating'])
result = temp1.add(temp2,fill_value=0)

这为您提供了一个多索引 DataFrame:

              count
fruit rating       
apple A         2.0
      B         2.0
      C         0.0
peach A         1.0
      B         0.0
      C         0.0
pear  A         0.0
      B         2.0
      C         1.0

如果你想删除索引,只需重置索引:

result.reset_index()
Out[182]: 
   fruit rating  count
0  apple      A    2.0
1  apple      B    2.0
2  apple      C    0.0
3  peach      A    1.0
4  peach      B    0.0
5  peach      C    0.0
6   pear      A    0.0
7   pear      B    2.0
8   pear      C    1.0

关于python - 将两个 Pandas 数据帧与仅添加整数计数相结合,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42309361/

相关文章:

python - 找不到满足所有软件包要求的版本

仅对正数求和的Python程序

python - Pandas 中的数据帧丢失日期索引

Python:如何连接多个 pandas 数据帧以生成盒须图?

python - 如何按类别绘制平均值条形图

python - MYSQLdb/Python 值错误但仍得到所需结果

python - Theano: ifelse 类型错误

python - 在groupby之后创建日期时间索引

python - 过滤异常值 - 如何使基于中值的 Hampel 函数更快?

python - Pandas .str.replace 和不区分大小写