gpt4 book ai didi

python - 如何在 Pandas 数据框中捕获连字符分隔数字的平均值?

转载 作者:行者123 更新时间:2023-11-28 21:40:00 25 4
gpt4 key购买 nike

我有一个吸毒者年龄的 Pandas DataFrame。我的问题:一些年龄由连字符分隔,例如 '50-64'。我想获取连字符分隔数字的平均值并用它替换单元格。

1.有没有办法用某种循环或方法来做到这一点?我不想简单地硬编码 drugs.loc[10,'age'] = np.mean(55+64)

2.为了将来引用,是否有更优雅的方式来处理用连字符分隔的数字的数据?

input:
drugs.age
output:
0 12
1 13
2 14
3 15
4 16
5 17
6 18
7 19
8 20
9 21
10 22-23
11 24-25
12 26-29
13 30-34
14 35-49
15 50-64
16 65+

input:
drugs.age.dtype
output:
dtype('O')

最佳答案

您可以使用:


drugs['age'] = drugs['age'].str.replace('+','')
.str.split('-', expand=True)
.astype(float)
.mean(axis=1)
print (drugs)
age
0 12.0
1 13.0
2 14.0
3 15.0
4 16.0
5 17.0
6 18.0
7 19.0
8 20.0
9 21.0
10 22.5
11 24.5
12 27.5
13 32.0
14 42.0
15 57.0
16 65.0

如果一些值是数字并且一些字符串是必要的,首先将所有值转换为字符串:

drugs['age'] = drugs['age'].astype(str)
.str.replace('+','')
.str.split('-', expand=True)
.astype(float)
.mean(axis=1)

关于python - 如何在 Pandas 数据框中捕获连字符分隔数字的平均值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46157289/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com