如何获得范围的平均值?

杰夫

我有一个如下的数据集:

data = { "size":["2","5mm","10mm","12-15mm","16-19mm"] }
dt =pd.DataFrame(data=data)

我需要获取每个单元格的平均值并将其替换为范围(以浮点数表示)吗?

因此,输出是

[2,5,10,13.5,17.5]

我所做的是:

begin = dt["size"].str.replace("mm", "").split("-")[0]

它抱怨有错误,

AttributeError: 'Series' object has no attribute 'split'

另外,我不确定这是否是最佳做法。

获得此字符串范围平均值的最佳方法是什么?

U10转发

采用:

print(dt['size'].str.rstrip('mm').str.split('-', expand=True).astype(float).mean(1))

或使用:

print(dt['size'].str.rstrip('mm').apply(lambda x: sum(map(int, x.split('-'))) / len(x.split('-'))).astype(float))

输出:

0     2.0
1     5.0
2    10.0
3    13.5
4    17.5
dtype: float64

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章