dataframe按行合并,空值用前一个数值填充
时间: 2023-11-18 10:34:00 浏览: 94
可以使用 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({'A': [None, 2, 3, 4, None], 'B': [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], ignore_index=True)
# 打印合并后的结果
print(df)
```
在上述代码中,`fillna()` 方法的参数 `method='ffill'` 表示使用前一个数值进行填充,`inplace=True` 表示直接修改原 DataFrame,而不是返回一个新的 DataFrame;`concat()` 方法的参数 `ignore_index=True` 表示重新生成行索引。执行上述代码后,输出的结果如下:
```
A B
0 1.0 6.0
1 1.0 7.0
2 3.0 7.0
3 3.0 9.0
4 5.0 10.0
5 1.0 6.0
6 2.0 7.0
7 3.0 8.0
8 4.0 8.0
9 4.0 10.0
```
可以看到,两个 DataFrame 中的空值已经被用前一个数值填充了,并且按行合并成功了。
阅读全文