pandas是基于NumPy构建的模块,含有使数据分析更快更简单的操做工具和数据结构,包含序列Series和数据框DataFrame两种最主要数据结构,Index也是pandas中很是重要的数据结构。html
数据框(DataFrame)相似于二维的关系表,每列的数据类型是相同的,列与列的数据类型能够不一样,也能够相同。数据框的结构是行和列,列有列名,行有行索引,行索引还能够设置标签。数据库
序列(Series)能够认为是二维表中的一列,所以,能够把数据框的一列转换为序列。在pandas中,序列是具备单一类型的一维数组,表示多行一列的数据结构,因为一列中的元素必须是相同的,所以,序列中的数据具备相同的数据类型。和数据框同样,序列具备行索引和行标签属性,每行都有一个索引和行标签。数组
import pandas as pd
除了Series和DataFrame以外,pandas还有一个很是重要的数据结构:Index,索引用来访问行,实现数据行的有序存储,并能对Series和DataFrame进行切片访问。数据结构
在大多数状况下,pandas使用NumPy的数组和dtypes做为序列和数据框中列的数据类型,NumPy支持的数据类型是float、int、bool、timedelta64[ns]。pandas扩展了NumPy的类型系统,用dtype属性来显示元素的数据类型,pandas主要有如下几种dtype:函数
查看变量的数据类型,使用type(var)函数工具
type(obj)
1,数值类型spa
pandas中的整数类型和浮点数类型能够为空(NULL),在定义数据组或序列时,使用dtype参数来定义整数类型:code
arr = pd.array([1, 2, np.nan], dtype=pd.Int64Dtype()) pd.array([1, 2, np.nan], dtype="Int64") pd.Series([1, 2, np.nan], dtype="Int32")
使用float3二、float64定义浮点数类型:htm
>>> pd.Series([1, 2, np.nan], dtype="float32") 0 1.0 1 2.0 2 NaN dtype: float32
2,字符串类型blog
使用object来表示字符串类型
>>> pd.Series(['a', 'b', 'c'], dtype="object") 0 a 1 b 2 c dtype: object
3,日期和时间类型类型
datetime64[ns] 表示的是日期和时间类型
>>> pd.Series(['2018-07-01', '2019-07-01', '2019-10-01'], dtype="datetime64[ns]") 0 2018-07-01 1 2019-07-01 2 2019-10-01 dtype: datetime64[ns]
4,类型转换
类型转换可使用astype()函数,转换为特定的额数据类型:
>>> pd.Series(['2018-07-01', '2019-07-01', '2019-10-01']).astype('datetime64[ns]') 0 2018-07-01 1 2019-07-01 2 2019-10-01 dtype: datetime64[ns]
pandas还有类型转换的特殊函数,用于转换为特定的数据类型:
好比,把序列转换为日期类型:
>>> pd.to_datetime(pd.Series(['2018-07-01', '2019-07-01', '2019-10-01'])) 0 2018-07-01 1 2019-07-01 2 2019-10-01 dtype: datetime64[ns]
参考文档: