python - 如何将 pandas 数据框中的两行合并为具有新名称的一行?
问题描述
所以我想添加两个不同的行,其中 5 列包含整数,并在此基础上创建一个新行。有没有办法将每行的最后 5 列加在一起,然后根据这些总数在其他列中创建新值?
基本上我想把这个:
编号 | 区域 | 养生法 | val_1 | val_2 | val_3 | val_4 | val_5 |
---|---|---|---|---|---|---|---|
5 | 利马 | 黑色的 | 78 | 209 | 580 | 18 | 700 |
和这个:
编号 | 区域 | 养生法 | val_1 | val_2 | val_3 | val_4 | val_5 |
---|---|---|---|---|---|---|---|
11 | 普卡尔帕 | 黑色的 | 250 | 845 | 1659 | 39 | 2101 |
进入这个:
编号 | 区域 | 养生法 | val_1 | val_2 | val_3 | val_4 | val_5 |
---|---|---|---|---|---|---|---|
12 | 秘鲁 | 黑色的 | 328 | 1054 | 2239 | 57 | 2801 |
解决方案
目前尚不清楚如何处理前三列;但是,您可以选择剩余的列iloc
并将两个过滤的数据框添加在一起。这假设数据帧具有相同的行数。从那里,您可以从第二个数据框(您也可以使用第一个)获取前 3 列数据combine_first
:
df3 = df1.iloc[:, 3:] + df2.iloc[:, 3:]
df3.combine_first(df2)
Out[1]:
area idx regimen val_1 val_2 val_3 val_4 val_5
0 Pucalpa 11 Black 328 1054 2239 57 2801
推荐阅读
- python - Python 3波模块字节序..?
- bash - 在 Bash 中的某个索引处插入一个元素
- ios - XCode - Runner - 无法选择设备模拟器
- python - python代码中终端的ctrl + c功能的不完整表示
- c++ - ')' 标记之前的预期主表达式
- json - NewtonSoft.Json 的 JObject 的枚举在 C# 中丢失了 '\' 字符
- intellij-idea - Intellij IDEA 中所有已更改文件范围的模式
- node.js - 如何在 MongoDB 中指定和更新数组中的对象
- javascript - 带有 xmlhttp 的 Apache2
- javascript - 对文件名排序、按 ID 分组和按日期/时间排序