Python Pandas两个DataFrame的对应列逻辑操作

Python Pandas两个DataFrame的对应列逻辑操作

Python Pandas两个DataFrame行索引不完全相同,但是需要求两个DataFrame对应行进行逻辑操作。

例如:公司在多个银行有账户,现公司本月有收入表和支出表,需要计算在各银行的结余情况。两个表的DataFrame如下:

收入表(income)

收入
中国工商银行30000
中国农业银行10000
中国银行20000
中国建设银行50000
交通银行60000

支出表(payout)

支出
中国工商银行20000
中国农业银行30000
中国邮政储蓄银行10000

解决方法:

直接使用join合成一个表,将支出表中支出列变成收入表中的一个列,再进行逻辑操作。

合并

merge_df = income.join(payout)
收入支出
中国工商银行3000020000
中国农业银行1000030000
中国银行20000NaN
中国建设银行50000NaN
交通银行60000NaN
中国邮政储蓄银行NaN10000

填充 NaN

merge_df.fillna(0, inplace=True)
收入支出
中国工商银行3000020000
中国农业银行1000030000
中国银行200000
中国建设银行500000
交通银行600000
中国邮政储蓄银行010000

计算结余

merge_df.loc[:, '结余'] = merge_df.loc[:, '收入'] - merge_df.loc[:, '支出']
收入支出结余
中国工商银行300002000010000
中国农业银行1000030000-20000
中国银行20000020000
中国建设银行50000050000
交通银行60000060000
中国邮政储蓄银行010000-10000

总计

merge_df.loc['总计', :] = merge_df.sum()
收入支出结余
中国工商银行300002000010000
中国农业银行1000030000-20000
中国银行20000020000
中国建设银行50000050000
交通银行60000060000
中国邮政储蓄银行010000-10000
总计170000060000110000
    原文作者:这个人懒得名字都没写
    原文地址: https://blog.csdn.net/weixin_42856871/article/details/109255593
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞