无法将货币值绘制到图中

时间:2018-07-26 16:18:04

标签: python pandas plot

我有一个数据框,其中包含一个用欧元表示的数字列(例如:7000欧元),我想用工具.plot在地图上显示该数据框。

df
        item price
    1   A   7 000 €
    2   B   10 880 €
    3   C   10 990 €

maps = df.plot()
maps

    ValueError: could not convert string to float: '7 000 €'

我收到一条错误消息,因为它将列视为对象而不是浮点数。

df.dtypes
    item object
    price object   
    dtype: object

我首先用' €'删除了rstrip个字符。

df['price'] = df['price'].map(lambda x: x.rstrip(' €'))
df
        item price
    1   A   7 000
    2   B   10 880
    3   C   10 990  

然后,我尝试将列转换为浮点型,但由于包含数千个分隔符(空格)(例如:7000)而无法实现。

df.price = pd.to_numeric(df.price, errors='ignore')
maps = df.plot()
maps

    ValueError: could not convert string to float: '7 000'

当我将' '替换为''时,没有收到错误消息,但是,当我显示数据框时,我总是有分隔符,并且该列始终被视为对象(不可能绘制)

df['price'].replace(' ','', inplace=True)
df
        item price
    1   A   7 000
    2   B   10 880
    3   C   10 990  

我不能摆脱这个。你能帮我吗 ? 非常感谢你。

1 个答案:

答案 0 :(得分:0)

您可能要使用 to_numeric来确保plot函数将其视为数字。

/etc/groups