将值类型为字符串的列转换为数字

时间:2021-07-14 13:47:27

标签: python dataframe data-science

我有这个带有 GDP 信息的 DF (gdp_g20),下面的第一行示例:

<块引用>

Country Name Country Code Indicator Name Indicator Code 2014
阿根廷 ARG GDP(现价美元)NY.GDP.MKTP.CD $526,320,000,000.00

我想绘制它,但由于列 '2014' 的值类型是字符串,所以不可能。

那么有人知道如何将 gdp_g20['2014'] 转换为数字数据吗?我看过一些帖子,但都没有奏效。

提前致谢。

我尝试删除 $ 符号并使用 to_numeric 进行转换,如下所示:

gdp_g20['2014'] = gdp_g20['2014'].apply(lambda x: x.replace('$', ''))
gdp_g20['2014'] = pd.to_numeric(gdp_g20['2014'])

但后来我得到了错误:

“无法在位置 0 解析字符串“526,320,000,000.00”

2 个答案:

答案 0 :(得分:1)

您需要删除 $ 并去掉 ,,这应该可以。

gdp_g20['2014'] = data['2014'].str[1:].str.replace(',','').astype(float)

答案 1 :(得分:1)

看起来您走在正确的轨道上,您只需要删除“,”

像这样在代码中添加另一行

gdp_g20["2014"] = gdp_g20['2014'].apply(lambda x: x.replace('$', ''))
gdp_g20["2014"] = gdp_g20['2014'].apply(lambda x: x.replace(',', ''))
gdp_g20['2014'] = pd.to_numeric(gdp_g20['2014'])
相关问题