Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将html转换为df-数字中的逗号_Python_Pandas_Dataframe - Fatal编程技术网

Python 将html转换为df-数字中的逗号

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

我是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.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之后,在计算过程中它仍然是一个字符串。