如何计算数据帧中序列的平均范围?

2024-06-13 21:15:53 发布

您现在位置:Python中文网/ 问答频道 /正文

我是Python新手,正在处理数据操作

我有一个数据帧

df3
Out[22]: 
                           Breed Lifespan
0         New Guinea Singing Dog       18
1                      Chihuahua       17
2                     Toy Poodle       16
3           Jack Russell Terrier       16
4                       Cockapoo       16
..                           ...      ...
201                      Whippet   12--15
202  Wirehaired Pointing Griffon   12--14
203               Xoloitzcuintle       13
204                  Yorkie--Poo       14
205            Yorkshire Terrier   14--16

正如你在上面观察到的,有些寿命在14-16岁之间。[寿命]的数据类型为

type(df3['Lifespan'])
Out[24]: pandas.core.series.Series

我希望它反映这两个数字的平均值,即15。我不想要任何范围。只是一个位数的平均值。我该怎么做


Tags: 数据newout平均值dogtoy新手singing
1条回答
网友
1楼 · 发布于 2024-06-13 21:15:53

使用splitexpand=True

df = pd.DataFrame({'Breed': ['Dog1', 'Dog2'],
                   'Lifespan': [12, '14 15']})

df['Lifespan'] = (df['Lifespan']
 .astype(str).str.split(' ', expand=True)
 .astype(float).mean(axis=1)
)

df
#   Breed   Lifespan
# 0 Dog1    12.0
# 1 Dog2    14.5

相关问题 更多 >