Pandas read_excel()函数 thousands参数的使用

本文介绍了Pandas的read_excel()函数中thousands参数的用途,它用于将Excel文件中以字符串形式存储且带有千分位分隔符的数字转换为数值类型。通过实例展示了如何正确使用该参数将str类型的数字转换为int类型。
部署运行你感兴趣的模型镜像

Pandas read_excel()函数 thousands参数的使用

最近在学习使用pandas的read_excel()函数使用,在查看API文档时,看到thousands参数的描述:

thousands [str, default None] Thousands separator for parsing string columns to numeric. Note that this parameter is only necessary for columns stored as TEXT in Excel, any numeric columns will automatically be parsed, regardless of display format.

参数说明:

传递的类型为str,默认为None。

作用: 处理Excel表中以字符串类型存储的数字,且带有类似‘,’分隔符,例如: 200,000,000, 将此类字符串转换为数值类型。

举例如下:

例如我们有这样一组数据val列是以字符串形式存储的:

dateval
2014/3/1200,000,000
2014/6/1200,001
2014/9/1200,002
2014/12/1200,003
2015/3/1200,004
2015/6/1200,005
2015/9/1200,006
2015/12/1200,007
2016/3/1200,008
2016/6/1200,009
2016/9/1200,010
2016/12/1200,011
2017/3/1200,012
2017/6/1200,013
2017/9/1200,014

 

我们先将该表数据使用read_excel函数读取出来,再查看val列的数据类型:

In [198]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx")
     ...: df
     ...:
Out[198]:
         date          val
0    2014/3/1  200,000,000
1    2014/6/1      200,001
2    2014/9/1      200,002
3   2014/12/1      200,003
4    2015/3/1      200,004
5    2015/6/1      200,005
6    2015/9/1      200,006
7   2015/12/1      200,007
8    2016/3/1      200,008
9    2016/6/1      200,009
10   2016/9/1      200,010
11  2016/12/1      200,011
12   2017/3/1      200,012
13   2017/6/1      200,013
14   2017/9/1      200,014

In [199]: type(df['val'][0])
Out[199]: str

验证发现是str类型,但我们实际想要的是int类型,此时就可以通过thousands参数来处理。代码如下:

In [200]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", thousands=",")
     ...: df
     ...:
Out[200]:
         date        val
0    2014/3/1  200000000
1    2014/6/1     200001
2    2014/9/1     200002
3   2014/12/1     200003
4    2015/3/1     200004
5    2015/6/1     200005
6    2015/9/1     200006
7   2015/12/1     200007
8    2016/3/1     200008
9    2016/6/1     200009
10   2016/9/1     200010
11  2016/12/1     200011
12   2017/3/1     200012
13   2017/6/1     200013
14   2017/9/1     200014

In [201]: type(df['val'][0])
Out[201]: numpy.int64

这样就得到了我们想要的整型数据。

【总结】

thousandsc参数实际上是用来处理以“千分位分隔符”表示的数据的,且存储时必须为string类型。
 

 

您可能感兴趣的与本文相关的镜像

AutoGPT

AutoGPT

AI应用

AutoGPT于2023年3月30日由游戏公司Significant Gravitas Ltd.的创始人Toran Bruce Richards发布,AutoGPT是一个AI agent(智能体),也是开源的应用程序,结合了GPT-4和GPT-3.5技术,给定自然语言的目标,它将尝试通过将其分解成子任务,并在自动循环中使用互联网和其他工具来实现这一目标

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值