计算字符串列平均值的逻辑如何工作(结果为 246.8
)?它有什么具体的用例吗?
import pandas as pd
import numpy as np
s = np.array(["0", "1", "2", "3", "4"])
pd.DataFrame(s).mean()
Out[1]:
0 246.8
dtype: float64
需要明确的是,我知道要计算数字的平均值,我应该按照这些思路做一些事情。
pd.DataFrame(s.astype(int)).mean()
Out[2]:
0 2.0
dtype: float64
最佳答案
发生的情况是字符串被连接(即字符串相加),形成字符串 "01234"
,该字符串被转换为数字 1234
,那么,1234/5 = 246.8
。仅当字符串是数字时才会发生这种情况,即它们以字符串格式表示数字,请尝试添加非数字字符串(例如 "x"
或 "hello"
)到列表中,您会发现它不起作用。
关于python - 为什么 np.mean 应用于 pandas 字符串列不会产生错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68213084/