用Python导数据到mysql中遇到问题,小数后几位在导入数据库中直接被舍弃

用Python导数据到mysql中遇到问题,小数后几位在导入数据库中直接被舍弃,第1张

float本身保存的就是近似值,因为你后面有e-06这样的字符,这个其实也是数字的一部分,这么看,不管你怎么存小数位都是不够的,比如这个3.90104e-06,翻译过来应该是0.00000390194,你估计float的话要怎么写,他是8位的精度,这里来看最好就是0.0000039也就这样了,我想就算这个也不是你要的吧。

所以个人觉得办法就是换一个数据类型,最简单的就是double(我估计16位的精度应该够了吧,不过他和float一样,存一个近似值,你可以试试写成double(16,14)试试,如果还不行,那就只能用decimal了),如果还是进位,那就用decimal(65位的定点数,怎么算都够了。)

如果还不行就祭出终极大招字符型,这个总没有问题,当然如果你还要计算,那就最好别用这个。

首先是引入pandas和numpy,这是经常配合使用的两个包,pandas依赖于numpy,引入以后我们可以直接使用np/pd来表示这个两个模块

先创建一个时间索引,所谓的索引(index)就是每一行数据的id,可以标识每一行的唯一值

为了快速入门,我们看一下如何创建一个6X4的数据:randn函数用于创建随机数,参数表示行数和列数,dates是上一步创建的索引列

我们还可以使用字典来创建数据框,例如创建一个列名为A的数据框,索引是自动创建的整数

这又是一个字典创建DataFrame的例子

假如字典内的数据长度不同,以最长的数据为准,比如B列有4行:

可以使用dtypes来查看各行的数据格式

接着看一下如何查看数据框中的数据,看一下所有的数据

使用head查看前几行数据(默认是前5行),不过你可以指定前几行

查看前三行数据

使用tail查看后5行数据

查看数据框的索引

查看列名用columns


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/8573192.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-18
下一篇 2023-04-18

发表评论

登录后才能评论

评论列表(0条)

保存