python - 为什么 np.mean 应用于 pandas 字符串列不会产生错误?

标签 python pandas numpy

计算字符串列平均值的逻辑如何工作(结果为 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/

相关文章:

python - pyplot : Refreshing an imshow() Window

python - 执行 `from abc import xyz` 模块 `abc`去哪了?

python - 将一列中的对应行替换为另一列中的非缺失对应行

python - scipy.stats.multivariate_normal 提高 `LinAlgError: singular matrix` 即使我的协方差矩阵是可逆的

Python 代码在每次迭代后变慢

python - 高级 numpy 数组乘法

python - 如何将 pandas DataFrame 中的列取消嵌套(分解)为多行

python - 将系列作为行应用于所有行中具有相同系列的 Pandas 数据框

python - 当文本为 "null"和 "nan"时,无法将文本从 csv 读取到数据框中

pandas - pandas 中 float 的力指数显示