dataframe,如何将列B和列C和列D的平均值生成列E,其中列B、C有缺失值
时间: 2024-05-09 07:21:19 浏览: 63
可以使用pandas库中的fillna()方法来填充列B和列C的缺失值,然后再计算列B、C、D的平均值生成列E。
具体步骤如下:
1. 导入pandas库:
```python
import pandas as pd
```
2. 创建DataFrame,并填充缺失值:
```python
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, None, 5, None],
'C': [3, None, 4, None, 6],
'D': [4, 5, 6, 7, 8]})
df.fillna(value=0, inplace=True) # 将缺失值填充为0
```
3. 计算列B、C、D的平均值生成列E:
```python
df['E'] = (df['B'] + df['C'] + df['D']) / 3
```
完整代码如下:
```python
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, None, 5, None],
'C': [3, None, 4, None, 6],
'D': [4, 5, 6, 7, 8]})
df.fillna(value=0, inplace=True) # 将缺失值填充为0
df['E'] = (df['B'] + df['C'] + df['D']) / 3
print(df)
```
输出结果:
```
A B C D E
0 1 2.0 3.0 4 3.000000
1 2 3.0 0.0 5 2.666667
2 3 0.0 4.0 6 3.333333
3 4 5.0 0.0 7 4.000000
4 5 0.0 6.0 8 4.666667
```
阅读全文