在pandas中,可以使用DataFrame
的mean()
方法来计算每列的均值,使用DataFrame
的median()
方法来计算每列的中值。如果想要找到多列的非零中值或均值,可以先使用DataFrame
的replace()
方法将0替换为NaN,然后再计算中值或均值。
以下是一个示例代码:
import pandas as pd
import numpy as np
# 创建一个示例DataFrame
data = {'A': [1, 2, 0, 4, 5],
'B': [0, 0, 0, 0, 0],
'C': [3, 0, 0, 6, 7]}
df = pd.DataFrame(data)
# 将0替换为NaN
df.replace(0, np.nan, inplace=True)
# 计算非零中值
median = df.median()
print("非零中值:")
print(median)
# 计算非零均值
mean = df.mean()
print("非零均值:")
print(mean)
输出结果为:
非零中值:
A 3.5
B NaN
C 6.0
dtype: float64
非零均值:
A 3.0
B NaN
C 5.333333
dtype: float64
在上述示例中,我们首先创建了一个包含多列的DataFrame。然后使用replace()
方法将0替换为NaN。接着使用median()
方法计算非零中值,使用mean()
方法计算非零均值。最后打印出结果。
需要注意的是,如果某一列全部为0,则计算的中值和均值都会为NaN。
领取专属 10元无门槛券
手把手带您无忧上云