pandas计算dataframe中各列数据的 Z-score值
时间: 2024-03-08 22:49:19 浏览: 246
pandas对dataFrame中某一个列的数据进行处理的方法
要计算一个DataFrame中各列数据的Z-score值,可以使用pandas中的 `apply()` 函数和 `scipy` 中的 `stats` 模块。
以下是一个示例代码:
```python
import pandas as pd
from scipy import stats
# 创建一个DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5], 'B': [6, 7, 8, 9, 10], 'C': [11, 12, 13, 14, 15]})
# 计算每列的Z-score值
z_score_df = df.apply(lambda x: (x - x.mean()) / x.std())
# 输出结果
print(z_score_df)
```
这里使用了 `apply()` 函数来对每一列进行操作。在每一列上,我们使用了 `lambda` 函数来计算该列的Z-score值。具体来说,我们计算了每列的均值和标准差,并将每个元素减去均值并除以标准差,以得到Z-score值。
输出结果如下:
```
A B C
0 -1.264911 -1.264911 -1.264911
1 -0.632456 -0.632456 -0.632456
2 0.000000 0.000000 0.000000
3 0.632456 0.632456 0.632456
4 1.264911 1.264911 1.264911
```
可以看到,每列的Z-score值已经被计算出来了。
阅读全文