df.mean(axis=1)
是 pandas 库中 DataFrame 对象的一个方法,用于计算每一行的平均值。如果你发现这个方法返回的结果全是 NaN 值,可能是以下几个原因:
确保 DataFrame 中的数据是数值类型。可以使用 df.dtypes
查看每一列的数据类型。
import pandas as pd
# 示例 DataFrame
data = {
'A': [1, 2, 3],
'B': [4, 5, 6],
'C': ['a', 'b', 'c']
}
df = pd.DataFrame(data)
# 检查数据类型
print(df.dtypes)
如果发现有非数值类型的列,可以尝试将其转换为数值类型:
df['C'] = pd.to_numeric(df['C'], errors='coerce')
可以使用 df.fillna()
或 df.dropna()
处理缺失值。
# 填充缺失值
df.fillna(0, inplace=True)
# 或者删除包含缺失值的行
df.dropna(inplace=True)
确保 DataFrame 中的数据不是全部为 NaN。
# 检查是否全部为 NaN
print(df.isnull().all())
以下是一个完整的示例代码,展示了如何处理可能导致 df.mean(axis=1)
返回 NaN 值的问题:
import pandas as pd
import numpy as np
# 示例 DataFrame
data = {
'A': [1, 2, np.nan],
'B': [4, np.nan, 6],
'C': ['a', 'b', 'c']
}
df = pd.DataFrame(data)
# 检查数据类型
print("数据类型:")
print(df.dtypes)
# 转换非数值类型的列为数值类型
df['C'] = pd.to_numeric(df['C'], errors='coerce')
# 处理缺失值
df.fillna(0, inplace=True)
# 计算每行的平均值
result = df.mean(axis=1)
print("每行的平均值:")
print(result)
通过以上步骤,你应该能够解决 df.mean(axis=1)
返回 NaN 值的问题。
没有搜到相关的沙龙
领取专属 10元无门槛券
手把手带您无忧上云