Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >pandas数据读取的问题记录

pandas数据读取的问题记录

作者头像
sladesal
发布于 2018-11-09 07:01:08
发布于 2018-11-09 07:01:08
1.4K00
代码可运行
举报
文章被收录于专栏:机器学习之旅机器学习之旅
运行总次数:0
代码可运行

最近发现pandas的一个问题,记录一下: 有一组数据(test.txt)如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
20181016    14830680298903273
20181016    14839603473953069
20181016    14839603473953079
20181016    14839603473953089
20181016    14839603473953099
20181016    14839603473953019

剖析出来看,数据是按照\t进行分隔的:'20181016\t14830680298903273\n'

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
with open('test.txt','r') as f:
    line = f.readline()
    print(line)

我平时一直在用pandas去读数据,所以我很熟练的写下来如下的代码: pd.read_table('test.txt',header=None) 然后发现,第一列变成了科学记数法的方式进行存储了:

很明显,科学记数法是可以转换的:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
def as_number(value):
    try:
        return '{:.0f}'.format(value)
    except:
        return value

# 应用到目标列去即可
data.uid.apply(as_number)

诡异的事情发生了,对于14830680298903273在as_number函数转换下变成了14830680298903272,理论上讲14830680298903273没有小数部分不存在四舍五入的原因,网上搜了也没有很明确的解释,初步讨论后猜测应该是pandas在用float64去存这种长度过长的数字的时候有精度丢失的问题。

要解决也是很简单的:

  • 用open的形式打开,在切割逐步去用list进行append,在合并
  • 用read_table的函数的时候,默认是用float64去存在的,改成object去存(dtype=object)
  • 在生产数据的时候,对于这种过长的数据采取str的形式去存

也是给自己提个醒,要规范一下自己的数据存储操作,并养成数据核对的习惯。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.10.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
pandas读取数据(1)
访问数据是进行各类操作的第一步,本节主要关于pandas进行数据输入与输出,同样的也有其他的库可以实现读取和写入数据。
python数据可视化之路
2023/02/23
2.7K0
pandas读取数据(1)
python数据分析——详解python读取数据相关操作
一般在做数据分析时最常接触的就是逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。
刘早起
2020/04/22
3.5K0
pandas读取txt---按行输入按行输出
 1.pandas读取txt---按行输入按行输出 import pandas as pd # 我们的需求是 取出所有的姓名 # test1的内容 ''' id name score 1 张三 100 2 李四 99 3 王五 98 ''' test1 = pd.read_table("test1.txt") # 这个是带有标题的文件 names = test1["name"] # 根据标题来取值 print(names) ''' 张三 李四 王五 ''' # test2的内容 ''' 4 All
汀丶人工智能
2022/12/21
1.6K0
20个经典函数细说Pandas中的数据读取与存储
大家好,今天小编来为大家介绍几个Pandas读取数据以及保存数据的方法,毕竟我们很多时候需要读取各种形式的数据,以及将我们需要将所做的统计分析保存成特定的格式。
用户6888863
2021/12/10
3.5K0
20个经典函数细说Pandas中的数据读取与存储
深入理解pandas读取excel,txt,csv文件等命令
文档操作属于pandas里面的Input/Output也就是IO操作,基本的API都在上述网址,接下来本文核心带你理解部分常用的命令
梦想橡皮擦
2019/03/15
13.3K0
深入理解pandas读取excel,txt,csv文件等命令
Pandas读取TXT文件
本文记录的是如何使用Pandas来读取不同情况下的TXT文件,主要是介绍部分常见参数的使用。
皮大大
2023/08/25
7590
【数据处理包Pandas】数据载入与预处理
对于数据分析而言,数据大部分来源于外部数据,如常用的 CSV 文件、 Excel 文件和数据库文件等。 Pandas 库将外部数据转换为 DataFrame 数据格式,处理完成后再存储到相应的外部文件中。
Francek Chen
2025/01/22
8650
【数据处理包Pandas】数据载入与预处理
Pandas | 数据读取
本文框架 0.导入Pandas 1.读取csv文件 1.1 查看读取前的csv数据 1.2 读取数据 1.3 初步数据探索 2. 读取txt文件 2.1 查看读取前的txt数据 2.2 读取数据 3. 读取excel文件 0.导入Pandas 我们在使用Pandas时,需要先将其导入,这里我们给它取了一个别名pd。 import pandas as pd 1.读取csv文件 1.1 查看读取前的csv数据 文件数据以逗号分隔。 userId,movieId,rating,timestamp 1,1,4.
生信real
2022/12/20
1.3K0
pandas入门①数据统计
本指南直接来自pandas官方网站上的10分钟pandas指南。 我将它改写以使代码更易于访问。 本指南适用于之前未使用pandas的初学者。
用户1359560
2018/08/27
1.7K0
Python 读取txt、csv、mat数据并载入到数组
这里结合上一篇博文的数据来讲怎么方便的载入.txt文件到一个数组,数据如下所示:
全栈程序员站长
2022/07/23
5.1K0
Python 读取txt、csv、mat数据并载入到数组
[编程经验] Pandas中比较好用的几个方法
话说我现在好久不做深度学习的东西了,做了一段时间是的NLP,以为可以去尝试各种高大上的算法,然而现在还并没有,反而觉得更像是做数据挖掘的。。平时遇到的比较多的问题,大多数都是数据清洗的工作,这时候工具就显得很重要,有一个好的工具能起到事半功倍的效果,比如突然有个idea,然后自己开始呼哧呼哧的造轮子,最后才发现,哦,原来都有现成的方法,本来一行代码就可以搞定的问题,到最后写了几十行。 正所谓,“欲闪其事,必先利其器”啊。 好了,废话不多说,下面介绍几个神奇的方法。 数据筛选 先把数据导
用户1622570
2018/04/11
2K0
python读取大文件
python读取文件对各列进行索引 可以用readlines, 也可以用readline, 如果是大文件一般就用readline
py3study
2020/01/07
1.2K0
Pandas速查卡-Python数据科学
Josh Devlin 2017年2月21日 Pandas可以说是数据科学最重要的Python包。 它不仅提供了很多方法和函数,使得处理数据更容易;而且它已经优化了运行速度,与使用Python的内置函数进行数值数据处理相比,这是一个显著的优势。 刚开始学习pandas时要记住所有常用的函数和方法显然是有困难的,所以在Dataquest(https://www.dataquest.io/)我们主张查找pandas参考资料(http://pandas.pydata.org/pandas-docs/stab
小莹莹
2018/04/23
10.4K0
Pandas速查卡-Python数据科学
python文件读写及形式转化和CGI的
逗号分隔值(Comma-Separated Values,CSV,有时也称为字符分隔值,因为分隔字符也可以不是逗号),其文件以纯文本形式存储表格数据(数字和文本)。纯文本意味着该文件是一个字符序列,不含必须像二进制数字那样被解读的数据。CSV文件由任意数目的记录组成,记录间以某种换行符分隔;每条记录由字段组成,字段间的分隔符是其它字符或字符串,最常见的是逗号或制表符。通常,所有记录都有完全相同的字段序列。通常都是纯文本文件。建议使用WORDPAD或是记事本来开启,再则先另存新档后用EXCEL开启,也是方法之一。
py3study
2020/01/16
1.7K0
快乐学习Pandas入门篇:Pandas基础
寄语:本文对Pandas基础内容进行了梳理,从文件读取与写入、Series及DataFrame基本数据结构、常用基本函数及排序四个模块快速入门。同时,文末给出了问题及练习,以便更好地实践。
Datawhale
2020/04/22
2.7K0
《利用Python进行数据分析·第2版》第6章 数据加载、存储与文件格式6.1 读写文本格式的数据6.2 二进制数据格式6.3 Web APIs交互6.4 数据库交互6.5 总结
访问数据是使用本书所介绍的这些工具的第一步。我会着重介绍pandas的数据输入与输出,虽然别的库中也有不少以此为目的的工具。 输入输出通常可以划分为几个大类:读取文本文件和其他更高效的磁盘存储格式,加
SeanCheney
2018/04/24
7.8K0
《利用Python进行数据分析·第2版》第6章 数据加载、存储与文件格式6.1 读写文本格式的数据6.2 二进制数据格式6.3 Web APIs交互6.4 数据库交互6.5 总结
Pandas vs Spark:数据读取篇
按照前文所述,本篇开始Pandas和Spark常用数据处理方法对比系列。数据处理的第一个环节当然是数据读取,所以本文就围绕两个框架常用的数据读取方法做以介绍和对比。
luanhz
2021/09/02
2.1K0
Pandas数据显示不全?快来了解这些设置技巧! ⛵
我们在应用 Python 进行数据分析挖掘和机器学习时,最常用的工具库就是 Pandas,它可以帮助我们快捷地进行数据处理和分析。
ShowMeAI
2022/07/12
3.4K0
Pandas数据显示不全?快来了解这些设置技巧! ⛵
Pandas笔记_python总结笔记
https://blog.csdn.net/xinxing__8185/article/details/48022401
全栈程序员站长
2022/09/27
8210
Pandas速查手册中文版
本文翻译自文章: Pandas Cheat Sheet - Python for Data Science,同时添加了部分注解。 对于数据科学家,无论是数据分析还是数据挖掘来说,Pandas是一个非常重要的Python包。它不仅提供了很多方法,使得数据处理非常简单,同时在数据处理速度上也做了很多优化,使得和Python内置方法相比时有了很大的优势。 如果你想学习Pandas,建议先看两个网站。 (1)官网: Python Data Analysis Library (2)十分钟入门Pandas: 10 Mi
Niucas_Mao
2018/04/12
13.1K0
相关推荐
pandas读取数据(1)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档