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
  • 10
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
PandasPython 中用于数据分析的强大库,其提供了高效的数据结构 DataFrame 和 Series,以及丰富的数据处理和分析功能。当你想要对 DataFrame 中的进行运算时,Pandas 提供了多种操作方法,包括: 1. **基本数学运算**: - `+`, `-`, `*`, `/`:用于之间的数值运算,例如加法、减法、乘法和除法。 - `**`:表示幂运算。 - `pd.DataFrame.add`, `sub`, `mul`, `div`:提供更高级的算术运算,如按位置或按标签添加、相减、相乘和相除。 2. **算术运算函数**: - `mean()`, `sum()`, `median()`, `min()`, `max()`:计算的平均值、总和、中位数、最小值和最大值。 - `std()`, `var()`:计算标准差和方差。 - `abs()`, `round()`: 返回绝对值或四舍五入的。 3. **比较操作**: - `==`, `!=`, `<`, `>`, `<=`, `>=`:用于比较两个,并返回布尔值系。 - `np.logical_`函数:例如 `np.logical_and` 或 `np.logical_or` 可以进行逻辑运算。 4. **聚合函数**: - `groupby()`: 允许按照分组后,对每个组应用特定的运算。 - `pivot_table()`: 创建透视表,可以进行多维度的数据汇总和计算。 5. **数据融合**: - `concat()`, `merge()`, `join()`:用于合并或连接多个 DataFrame间运算可能基于指定的键或条件。 相关问题-- 1. 如何使用 Pandas两个执行元素级的逐个对应运算? 2. Pandas 如何通过进行算术运算? 3. 在使用 `groupby` 进行分组后,如何对分组后的进行计算?
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值