gpt4 book ai didi

python - 如何使用 pandas 将整个列字符串转换为数据框中的 float ?

转载 作者:行者123 更新时间:2023-12-01 08:00:52 24 4
gpt4 key购买 nike

我的 df 中有一个名为 size 的列

df['Size']

0 19M
1 14
2 8.7
3 25
4 2.8M
5 5.6

我想删除此列中的所有 M,所以我这样做了

df.Size.str.replace('M','')

它有效,但是我还想将此列中的字符串转换为 float 。

我尝试了 df.Size.float.replace('M','')

但我收到此错误:

属性错误:“系列”对象没有属性“ float ”

我应该做什么?

最佳答案

我正在使用to_numeric

更新

pd.to_numeric(df.Size.replace('M','',regex=True),errors='coerce').fillna(df.Size)
Out[497]:
0 19
1 14k
2 8.7
3 25
4 2.8
5 5.6
Name: Size, dtype: object
<小时/>

这里检查转换,只有包含k的单元格仍然是str类型,其他都变成float

pd.to_numeric(df.Size.replace('M','',regex=True),errors='coerce').fillna(df.Size).apply(type)
Out[501]:
0 <class 'float'>
1 <class 'str'>
2 <class 'float'>
3 <class 'float'>
4 <class 'float'>
5 <class 'float'>
Name: Size, dtype: object
<小时/>

数据输入

df
Out[500]:
Size
0 19M
1 14k
2 8.7
3 25
4 2.8M
5 5.6

关于python - 如何使用 pandas 将整个列字符串转换为数据框中的 float ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55737678/

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