pandas包依赖于 NumPy 包,提高了高性能易用数据类型和分析工具。
1 数据结构
1、 Series 数据结构
Series 是一种类似于一维数组的对象,由一组数据和一组数据标签(索引值)组成。
(1) Series对象的创建
通过Series()方法创建对象,也可以直接将标量值、列表、字典和ndarray类型转换成Series数据。series的索引可以是自动索引或自定义索引,索引个数必须跟创建series的数据个数相同
(2) Series对象的属性
获取数据:Series.values
获取名称:Series.name
获取index:Series.index
获取index的名称:Series.index.name
(3) Series对象的基本操作
import pandas as pd
s=pd.Series(range(5),['a','b','c','d','e'])
print(s[3],s['d']) # 3 3
print(s[['a','b']],s[:2]) # a 0 (结果相同)
#b 1
print(s[s>3]) # e 4
print('e' in s,0 in s) # True False
print(s.get('f',99)) # 99
2、 DataFrame 数据结构
DataFrame是由一组数据和一对索引(行索引和列索引)组成的表格型数据结构,常用于表达二维数据,同时也可以表达多维数据,行列索引有自动索引和自定义索引。
当你将列表或数组赋值给一个列时,值的长度必须和DataFrame的长度相匹配。如果你将Series赋值给一列时,Series的索引将会按照DataFrame的索引重新排列,并在空缺的地方填充缺失值
(1) DataFrame对象的创建
1、通过字典创建
df=pd.DataFrame(list/dict)
(2) DataFrame对象的属性
获得index:dataframe.index
获得columns:dataframe.columns
获取数据:dataframe.values
获取类型:dataframe.dtypes
获得维度信息:dataframe.ndim
获取shape信息:dataframe.shape
获取行及列索引:dataframe.axes
转置列表:dataframe.T
获取数据块元素的个数:dataframe.size
(3)类型转换
第一种方法
语法:
df.astype('type')
功能描述: 将表格数据类型转换成指定的数据类型
返回情况: 返回一个修改数据类型后的数据
第二种方法
语法:
df['column_name'].apply(‘type’)
功能描述: 将表格数据中的一列数据类型转换成指定的数据类型
时间字符串转换成日期类型数据:
1、df['字段名']=pd.to_datetime(df['字段名'],format=None)
format是时间格式,时间格式跟df['字段名']
相同
2、df['字段名']=df['字段名'].apply(lambda x:datetime.strptime(x,'%Y-%m-%d'))
时间格式跟x相同
3、Series和 DataFrame的互相转换
Series------》DataFrame:
Series.to_frame(['column_name']) # column_name选填参
DataFrame------》Series:
DataFrame[column_name]
2 导入与导出数据
一般导入数据会使用到pandas库中的read_x()方法,其中x代表数据文件的类型,例如:read_excel()、read_csv()、read_table()
1、excel文件
(1)导入数据
语法:
pandas.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None, squeeze=False, dtype= None, engine=None, converters=None, true_values=None, false_values=None, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, parse_dates=False, date_parser=None, thousands=None, comment=None, skipfooter=0, convert_float=None, mangle_dupe_cols=True, storage_options= None)
参数说明:
sheet_name: 指定工作表名称或索引,默认第一个工作表,如果填写None则返回所有工作表并且返回结果是一个字典类型数据
index_col: 指定行索引,默认从excel数据中的第0列开始
header: