首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Python / Pandas \{e76f}转换为整数或浮动

Python / Pandas \{e76f}转换为整数或浮动
EN

Stack Overflow用户
提问于 2017-09-05 13:00:29
回答 1查看 1K关注 0票数 2

概述:

我已经从一个网站上删除了一些数据,放入了Pandas DataFrame,但由于某些原因,我似乎无法将数据类型从一个对象转换为整数或浮动(就这一点而言,两者都很好)。

我看了几篇文章,感谢地帮助我来到这里,但出于某种原因,我尝试的每一件事似乎都不起作用

数据集的示例:

代码语言:javascript
复制
Condition_Type  State   Price      Year    Make         Model
In Stock        SA      $24,654    2017    Mazda        3
Used Car        VIC     $23,162    2016    Holden       Trax
Used Car        VIC     $15,777    2011    Volkswagen   Tiguan
Used Car        VIC     $12,634    2012    Volkswagen   Polo
In Stock        VIC     $70,501    2017    Volkswagen   Amarok

到目前为止我所尝试的:

代码语言:javascript
复制
df["Price"] = df["Price"].str.replace("$","").astype(int)

ValueError:带基数10的int()的无效文本:

代码语言:javascript
复制
df["Price"] = df["Price"].astype(str).astype(int)

ValueError:带基数10的int()的无效文本:

代码语言:javascript
复制
pd.Series(df["Price"]).convert_objects(convert_numeric=True)

FutureWarning:不推荐convert_objects。使用数据类型特定的转换器pd.to_datetime、pd.to_timedelta和pd.to_numeric.

代码语言:javascript
复制
pd.to_numeric(df["Price"], errors='coerce')

返回NaN

代码语言:javascript
复制
pd.to_numeric(df["Price"], errors='ignore')

值作为对象保留。

代码语言:javascript
复制
df["Price"] = df["Price"].astype(np.int64, inplace=True)

ValueError:带基数10的int()的无效文本:

最后一种方法在过去已经起作用了,但由于某种原因,它不适用于这个数据集。

有什么想法吗?

谢谢禤浩焯

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-05 13:02:11

我认为您首先需要转义值$,然后用,替换为用Series.replace空字符串。

代码语言:javascript
复制
df["Price"] = df["Price"].replace(["\$", ','],"", regex=True).astype(int)
print (df)
  Condition_Type State  Price  Year        Make   Model
0       In Stock    SA  24654  2017       Mazda       3
1       Used Car   VIC  23162  2016      Holden    Trax
2       Used Car   VIC  15777  2011  Volkswagen  Tiguan
3       Used Car   VIC  12634  2012  Volkswagen    Polo
4       In Stock   VIC  70501  2017  Volkswagen  Amarok

print (df['Price'].dtypes)
int32
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46055635

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档