如何对列名不同的两个Data Frame执行rbind并填充缺失列值?
解决方案(Pandas)
步骤说明
- 为DF2补充缺失的
Prec_CAN_85列,用每行的Prec_CAN_45值填充 - 将处理后的DF2与DF1按行拼接,确保DF2的行排在DF1上方
代码实现
import pandas as pd # 创建原始DataFrame DF1 = pd.DataFrame({ 'Year': [2015, 2100], 'Month': ['Jan', 'Jan'], 'Prec_CAN_45': [0.5, 0.6], 'Prec_CAN_85': [0.65, 0.75] }) DF2 = pd.DataFrame({ 'Year': [1998, 2014], 'Month': ['Jan', 'Jan'], 'Prec_CAN_45': [0.3, 0.4] }) # 为DF2补充Prec_CAN_85列,用Prec_CAN_45的值填充 DF2['Prec_CAN_85'] = DF2['Prec_CAN_45'] # 拼接两个DataFrame,DF2在前,DF1在后,重置索引 DF3 = pd.concat([DF2, DF1], ignore_index=True) print(DF3)
输出结果
| Year | Month | Prec_CAN_45 | Prec_CAN_85 | |
|---|---|---|---|---|
| 0 | 1998 | Jan | 0.3 | 0.3 |
| 1 | 2014 | Jan | 0.4 | 0.4 |
| 2 | 2015 | Jan | 0.5 | 0.65 |
| 3 | 2100 | Jan | 0.6 | 0.75 |
内容的提问来源于stack exchange,提问作者Sana
相关产品推荐
相关产品推荐

