gpt4 book ai didi

python - pandas.read_html 仅将特定列转换为 float

转载 作者:太空宇宙 更新时间:2023-11-03 20:05:09 24 4
gpt4 key购买 nike

我正在尝试创建一个程序来读取站点中的表格并仅将部分表格列转换为 float 。

该站点表如下所示:

Account   Responsible     Grade
1.0.0 João Da Silva 3,5
1.1.0 Antônio Pereira 2,5
1.2.0 Maria do Céu 4,5
1.2.1 Joana Antunes 5,0

为此,我使用了 BeautifulSoup 和 pandas.read_html,如下所示

import BeautifulSoup as bs
import pandas as pd
############################################################
# This part of the code was voided to simplify my question #
############################################################
soup = bs(page_source,'html.parser')
table = soup.find('table',{'id': 'table_id'})
data = pd.read_html(str(table), encoding = 'utf-8', decimal=",", thousands='.')[0]

当我这样做时,除了“帐户”列之外,表格会根据我的需要进行转换,返回的 pandas 数据框如下所示:

Index   1       2               3
0 Account Responsible Grade
1 100 João Da Silva 3.5
2 110 Antônio Pereira 2.5
3 120 Maria do Céu 4.5
4 121 Joana Antunes 5.0

我的想法是保留原始表中的“Account”列值,以避免任何错误转换,并按应有的方式转换其他表值(对于本例,它应该是 [str,str,float]) .

Index   1         2               3
0 Account Responsible Grade
1 1.0.0 João Da Silva 3.5
2 1.1.0 Antônio Pereira 2.5
3 1.2.0 Maria do Céu 4.5
4 1.2.1 Joana Antunes 5.0

有没有可能的方法来执行这种转换?

感谢您现在提供的所有支持,并致以诚挚的问候。

最佳答案

您可以尝试为该列设置转换器。

data = pd.read_html(str(table), encoding = 'utf-8', decimal=",", thousands='.', converters={'Account': str})[0]

关于python - pandas.read_html 仅将特定列转换为 float ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59007856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com