本文目录一览:
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,高精度计算就赶紧用专业的数学软件。