df如何对有缺失的行、列求平均值?如何筛选某一列中大于某一个值的样本并且对该样本求某一列的均值?
时间: 2023-06-24 16:08:32 浏览: 109
对于有缺失的行、列求平均值,可以使用 Pandas 库中的 `mean()` 函数,并指定 `axis` 参数为 0 或 1,分别表示对列或行进行平均值计算。如果想要忽略缺失值,则可以在函数中指定 `skipna=True`。
以对缺失行求平均值为例,代码如下:
```python
import pandas as pd
# 创建一个数据帧
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, None, 5, 6],
'C': [3, 4, 5, None, 7]})
# 对缺失行进行平均值计算
df_mean = df.mean(axis=1, skipna=True)
print(df_mean)
```
输出结果为:
```
0 2.0
1 4.0
2 4.0
3 4.5
4 6.0
dtype: float64
```
对于筛选某一列中大于某一个值的样本并且对该样本求某一列的均值,可以使用 Pandas 库中的布尔索引来进行筛选,并使用 `mean()` 函数计算均值。
以对某一列大于某一值的样本求另一列均值为例,代码如下:
```python
import pandas as pd
# 创建一个数据帧
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]})
# 筛选某一列大于某一值的样本并对另一列求均值
col_name = 'C'
threshold = 4
df_mean = df.loc[df[col_name] > threshold, 'B'].mean()
print(df_mean)
```
输出结果为:
```
4.5
```
阅读全文