Python 将html转换为df-数字中的逗号
我是Python的新手。我需要从波兰语网页下载一些表格。 我对数字中的逗号有问题,因为熊猫似乎删除了它们? 例如:Python 将html转换为df-数字中的逗号,python,pandas,dataframe,Python,Pandas,Dataframe,我是Python的新手。我需要从波兰语网页下载一些表格。 我对数字中的逗号有问题,因为熊猫似乎删除了它们? 例如: import pandas as pd x = pd.read_html('https://www.gpw.pl/wskazniki', encoding='utf-8', decimal=",")[1] C/WK列中的结果是“021”,而不是“0,21”。 如何正确下载或更改为“0.21”。 谢谢问题在于千位分隔符,它也默认为公共分隔符 要读取数据并正确解析数据,请使用: pd
import pandas as pd
x = pd.read_html('https://www.gpw.pl/wskazniki', encoding='utf-8', decimal=",")[1]
C/WK
列中的结果是“021”
,而不是“0,21”
。
如何正确下载或更改为“0.21”
。
谢谢问题在于千位分隔符,它也默认为公共分隔符 要读取数据并正确解析数据,请使用:
pd.read_html('https://www.gpw.pl/wskazniki',encoding = 'utf-8', decimal=',', thousands='.')[1]
结果是:
请注意,尽管这显示了您想要的内容,但数据帧中的值当前都存储为字符串(我假设“x”代表0)。因此,如果您想对该列执行任何算术运算,您还需要执行:
x['C/Z']=x['C/Z'].apply(lambda x:0如果x='x'else float(x))
@SimonR最好写成:pd.to_numeric(x['C/Z'],errors='concure')。fillna(0)
pd.read\u html()
函数有一个na_值
参数,允许定义自定义缺失值。将其设置为o“x”
,然后使用.fillna()
@SimonR脚本就足够了。然而,当我尝试在Simon脚本正常工作后才使用它们时,两个数据类型的列都是float。在Jon之后,在计算过程中它仍然是一个字符串。