Pandas - pd.read_html,读取负值的问题

时间:2016-02-06 15:23:10

标签: python pandas

我正在尝试将此表转换为pandas DataFrame。我的问题是,大熊猫不会识别表中的负值。

import pandas as pd

url = 'http://www.scb.se/en_/Finding-statistics/Statistics-by-subject-area/Prices-and-Consumption/Consumer-Price-Index/Consumer-Price-Index-CPI/Aktuell-Pong/33779/Consumer-Price-Index-CPI/287612/'

df = pd.read_html(url,index_col='Year',header=0,parse_dates=True)[0]
print(df)

有关我如何进行的任何建议?

提前谢谢

1 个答案:

答案 0 :(得分:0)

该表使用的是不同的hyphen character而不是ASCII减号。您可以执行此类操作来替换并重新转换为浮点数。

In [64]: df.iloc[0,0]
Out[64]: u'\u20111.1'

In [65]: for column in df:
    ...:     if df[column].dtype == np.object_:
    ...:         df[column] = df[column].str.replace(u'\u2011', '-').astype(float)

In [66]: df.iloc[0,0]
Out[66]: -1.1000000000000001