pandas 填充数据
时间: 2023-10-13 08:22:08 浏览: 80
pandas 是一个强大的 Python 数据分析库,它可以用来操作和处理数据。在数据分析中,经常需要对缺失的数据进行填充,以保证分析的准确性。pandas 提供了多种方法进行数据填充,包括使用常数、使用前向填充、使用后向填充等。
常数填充
常数填充是指将缺失值用指定的常数填充。可以使用 fillna() 方法进行填充。例如,将所有缺失值填充为 0:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, None, 4],
'B': [5, None, 7, 8],
'C': [9, 10, 11, None]})
df.fillna(0, inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 5.0 9.0
1 2.0 0.0 10.0
2 0.0 7.0 11.0
3 4.0 8.0 0.0
```
前向填充
前向填充是指使用前一个非缺失值来填充缺失值。可以使用 fillna() 方法,并指定 method='ffill',来进行前向填充。例如:
```python
df.fillna(method='ffill', inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 5.0 9.0
1 2.0 5.0 10.0
2 2.0 7.0 11.0
3 4.0 8.0 11.0
```
后向填充
后向填充是指使用后一个非缺失值来填充缺失值。可以使用 fillna() 方法,并指定 method='bfill',来进行后向填充。例如:
```python
df.fillna(method='bfill', inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 5.0 9.0
1 2.0 7.0 10.0
2 4.0 7.0 11.0
3 4.0 8.0 NaN
```
其他填充方式
除了常数填充、前向填充、后向填充之外,pandas 还提供了一些其他的填充方式,例如使用插值法进行填充。可以使用 interpolate() 方法来进行插值填充。例如:
```python
df.interpolate(method='linear', inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 5.0 9.0
1 2.0 6.0 10.0
2 3.0 7.0 11.0
3 4.0 8.0 11.0
```
此外,还可以使用 dropna() 方法来删除含有缺失值的行或列。例如:
```python
df.dropna(inplace=True)
print(df)
```
输出结果:
```
A B C
0 1.0 5.0 9.0
```
上述是一些常见的 pandas 数据填充方法,可以根据具体需求选择不同的方法进行填充。
阅读全文