Pandas基础
1 import numpy as np 2 import pandas as pd 3 #pandas 基础操作 4 data=np.arange(18).reshape(6,3)#数据 5 print('数据:') 6 print(data) 7 8 dates=pd.date_range('20180605', periods=6)#pandas时间序列 9 print('pandas 时间序列') 10 print(dates) 11 12 #pandas以时间作为行索引,[a,b,c]作为列索引的表 13 print('pandas以时间作为行索引,[a,b,c]作为列索引的表') 14 data_frame=pd.DataFrame(data=data, index=dates, columns=['a', 'b', 'c']) 15 print(data_frame) 16 17 #表格数据的简单统计 18 print('对每列数据计算简单的统计数据:') 19 print(data_frame.describe()) 20 21 print('按行索引降序排列:') 22 print(data_frame.sort_index(axis=0, ascending=False))#按行索引降序排列 23 24 print('按列索引降序排列:') 25 print(data_frame.sort_index(axis=1, ascending=False))#按列索引降序排列 26 27 print('按索引为''a''的列的值降序排列:') 28 print(data_frame.sort_values(by='b', ascending=False))#数据按照某一列值排序 29 30 print('数据表转置:') 31 print(data_frame.T)#数据表转置 32 33 #data frame取值操作 34 print('两种取出列索引为"a"的数据:') 35 print(data_frame['a'], data_frame.a ) 36 print('loc:取出行索引为"2018-06-08",列索引为"a""c"数据:') 37 print(data_frame.loc['2018-06-08', ['a','c']]) 38 print('iloc:按照位置索引来取值:') 39 print(data_frame.iloc[3:5,0:2]) 40 print('bool 索引:显示"a"列中大于6的所有行') 41 print(data_frame[data_frame['a']>=6]) 42 43 #data frame赋值 44 print('改变第2行,第2列的值为0:') 45 data_frame.iloc[4,2]=np.nan 46 print(data_frame) 47 print('改变第4行的所有值:') 48 data_frame.iloc[3,:]=[100, 100, 100] 49 print(data_frame) 50 print('添加一列:') 51 data_frame['d']=[1,2,3,4,5,6] 52 print(data_frame) 53 54 #处理数据中的nan 55 print('判断是否为nan:') 56 print(data_frame.isnull()) 57 print('删去包含nan的行:') 58 print(data_frame.dropna(axis=0, how='any')) 59 print('删去包含nan的列:') 60 print(data_frame.dropna(axis=1, how='any')) 61 print('替换nan为88:') 62 print(data_frame.fillna(value=88)) 63 64 #存储数据与读取数据(csv) 65 data_frame.to_csv('data.csv') 66 data_fr=pd.read_csv('data.csv') 67 print(data_fr) 68 69 #data frame 拼接 70 print('data_frame:') 71 print(data_frame) 72 date2=pd.date_range('20180605', periods=3) 73 data_frame2=pd.DataFrame(np.arange(12).reshape(3,4), index=date2, columns=['b','c','d','e']) 74 print('data_frame2:') 75 print(data_frame2) 76 print('列向拼接data frame,保留同列号的数据,并且重排行行索引:') 77 print(pd.concat([data_frame, data_frame2], axis=0, ignore_index=True, join='inner')) 78 print('行向拼接data frame,保留同行号的数据,并且重排行索引:') 79 print(pd.concat([data_frame, data_frame2], axis=1, ignore_index=True, join='inner'))