您的位置:

python数据的精度(Python小数精度)

本文目录一览:

python数据类型有哪些

数据类型是每种编程语言必备的属性,只有给数据赋予明确的数据类型,计算机才能对数据进行处理运算,因此,使用正确的数据类型是十分有必要的,以下是Python编程常用的数据类型:

一、数字型

Python数字类型主要包括int(整型)、long(长整型)和float(浮点型),但是在Python3中就不再有long类型了。

1、int(整型)

在32位机器上,整数的位数是32位,取值范围是-231~231-1,即-2147483648~214748364;在64位系统上,整数的位数为64位,取值范围为-263~263-1,即9223372036854775808~9223372036854775807。

2、long(长整型)

Python长整型没有指定位宽,但是由于机器内存有限,使用长的长整数数值也不可能无限大。

3、float(浮点型)

浮点型也就是带有小数点的数,其精度和机器有关。

4、complex(复数)

Python还支持复数,复数由实数部分和虚数部分构成,可以用 a + bj,或者 complex(a,b) 表示, 复数的实部 a 和虚部 b

都是浮点型。

二、字符串

在Python中,加了引号的字符都被认为是字符串,其声明有三种方式,分别是:单引号、双引号和三引号;Python中的字符串有两种数据类型,分别是str类型和unicode类型,str类型采用的ASCII编码,无法表示中文,unicode类型采用unicode编码,能够表示任意字符,包括中文和其他语言。

三、布尔型

和其他编程语言一样,Python布尔类型也是用于逻辑运算,有两个值:True(真)和False(假)。

四、列表

列表是Python中使用最频繁的数据类型,集合中可以放任何数据类型,可对集合进行创建、查找、切片、增加、修改、删除、循环和排序操作。

五、元组

元组和列表一样,也是一种序列,与列表不同的是,元组是不可修改的,元组用”()”标识,内部元素用逗号隔开。

六、字典

字典是一种键值对的集合,是除列表以外Python之中最灵活的内置数据结构类型,列表是有序的对象集合,字典是无序的对象集合。

七、集合

集合是一个无序的、不重复的数据组合,它的主要作用有两个,分别是去重和关系测试。

如何提高python的计算精度

可以使用decimal模块来设置计算的精度。举个例子。

 from decimal import *

 getcontext().prec = 6

 Decimal(1) / Decimal(7)

Decimal('0.142857')

 getcontext().prec = 28

 Decimal(1) / Decimal(7)

Decimal('0.1428571428571428571428571429')

python数据分析-科学计数法

用python进行数据分析时,查看数据,经常发生数据被自动显示成科学记数法的模式,或者多行多列数据只显示前后几行几列,中间都是省略号的情形。

import numpy as npnp.set_printoptions(suppress=True, threshold=np.nan)

suppress=True 取消科学记数法

threshold=np.nan 完整输出(没有省略号)

display.[max_categories, max_columns, max_colwidth, max_info_columns, max_info_rows, max_rows, max_seq_items, memory_usage, multi_sparse, notebook_repr_html, pprint_nest_depth, precision, show_dimensions]

详细介绍文档: pd.set_option

可以在pd.set_option设置display.float_format参数来以政策小数显示,比如下面设置显示到小数点后3位

pd.set_option('display.float_format', lambda x: '%.3f' % x)

set_option中还有其它一些控制设置,包括默认显示列数,行数等等

pd.set_option('display.max_columns',5, 'display.max_rows', 100)

import pandas as pdpd.set_option('display.max_columns', 10000, 'display.max_rows', 10000)

display.max_columns 显示最大列数

display.max_rows 显示最大行数

1、pd.set_option(‘expand_frame_repr’, False)

True就是可以换行显示。设置成False的时候不允许换行

2、pd.set_option(‘display.max_rows’, 10)

pd.set_option(‘display.max_columns’, 10)

显示的最大行数和列数,如果超额就显示省略号,这个指的是多少个dataFrame的列。如果比较多又不允许换行,就会显得很乱。

3、pd.set_option(‘precision’, 5)

显示小数点后的位数

4、pd.set_option(‘large_repr’, A)

truncate表示截断,info表示查看信息,一般选truncate

5、pd.set_option(‘max_colwidth’, 5)

列长度

6、pd.set_option(‘chop_threshold’, 0.5)

绝对值小于0.5的显示0.0

7、pd.set_option(‘colheader_justify’, ‘left’)

显示居中还是左边,

8、pd.set_option(‘display.width’, 200)

横向最多显示多少个字符, 一般80不适合横向的屏幕,平时多用200.

np.set_printoptions(precision=None, threshold=None, edgeitems=None, linewidth=None, suppress=None, nanstr=None, infstr=None, formatter=None)

参数:

precision 设置浮点数的精度 (默认值:8)

threshold 设置显示的数目(超出部分省略号显示, np.nan是完全输出,默认值:1000)

edgeitems 设置显示前几个,后几个 (默认值:3)

suppress 设置是否科学记数法显示 (默认值:False)

示例如下:

import numpy as npnp.set_printoptions(precision=4, threshold=8, edgeitems=4, linewidth=75, suppress=True, nanstr='nan', infstr='inf')print("precision=4, 浮点数精确小数点后4位: ", np.array([1.23446789]))print("threshold=8, edgeitems=4, 显示8个,前4后4: ", np.arange(10))np.set_printoptions(formatter={'all': lambda x :'int:'+str(-x)})print("formatter, 格式化输出: ", np.arange(5))

输出如下:

[图片上传失败...(image-15f596-1587702700460)]

注意:precision自动四舍五入

详细介绍文档: np.set_printoptions

pd.set_option

pd.set_option(pat, value)

如何提高python三角函数的精度

方法如下:

①使用numpy等第三方库,可以提高到64bit的精度。

②使用高精度运算库。

③使用mathematica,高精度计算就赶紧用专业的数学软件。