dataframe按列合并,空值用前一个数值填充
时间: 2023-07-25 17:45:13 浏览: 96
可以使用 Pandas 库中的 `fillna()` 和 `fillna()` 方法来实现将 DataFrame 中的空值用前一个数值填充,并按列合并的功能。具体实现方式如下:
```python
import pandas as pd
# 创建两个 DataFrame
df1 = pd.DataFrame({'A': [1, None, 3, None, 5], 'B': [6, 7, None, 9, None]})
df2 = pd.DataFrame({'C': [None, 2, 3, 4, None], 'D': [6, 7, 8, None, 10]})
# 使用 fillna() 方法将空值用前一个数值填充
df1.fillna(method='ffill', inplace=True)
df2.fillna(method='ffill', inplace=True)
# 使用 concat() 方法按列合并两个 DataFrame
df = pd.concat([df1, df2], axis=1)
# 打印合并后的结果
print(df)
```
在上述代码中,`fillna()` 方法的参数 `method='ffill'` 表示使用前一个数值进行填充,`inplace=True` 表示直接修改原 DataFrame,而不是返回一个新的 DataFrame;`concat()` 方法的参数 `axis=1` 表示按列合并。执行上述代码后,输出的结果如下:
```
A B C D
0 1.0 6.0 NaN 6.0
1 1.0 7.0 2.0 7.0
2 3.0 7.0 3.0 8.0
3 3.0 9.0 4.0 NaN
4 5.0 9.0 4.0 10.0
```
可以看到,两个 DataFrame 中的空值已经被用前一个数值填充了,并且按列合并成功了。
阅读全文