写在前面:
numpy用来处理数值类型的数据;pandas用来处理除数值类型之外的数据
pandas常用的两个类:Series、DataFrame。
Series:一种类似一维数组的对象,由values和index构成
DataFrame:一种表格型数据结构,它含有一组有序的列,每列可以是不同的值。DataFrame既有行索引,也有列索引,它可以看作是由Series组成的字典,不过这些Series公用一个索引
1.Series基本操作
# 一个基本的Series s0=Series(data=[1,2,3,4,5]) print(s0) dict ={...} s1=Series(data=dict) print(s1) # 指定Series的索引 s2=Series(data=[1,2,3],index=['a','b','c']) print(s2['a']) s3=Series(data=[1,2,3,4,5],index=['a','c','d','f','g']) s4=Series(data=[1,2,3,4,5],index=['a','b','b','d','g']) s5=s3+s4 print(s5)
2.DataFrame基本操作
dict ={ 'col1':['zhangsan','lisi','wangwu'], 'col2':[200,100,300], 'col3':['2011-01-01','2011-02-03','2020-01-01'] } df=DataFrame(data=dict,index=['index1','index2','index3']) # 索引取单列 df['col1'] # 索引取多列 df[['col1','col2']] # 索引取单行 df.loc['index1'] 或df.iloc[1] # 索引取多行 df.loc[['index1','index2']] # 索引取元素 df.loc['index1','col1'] # 索引切取多行 df['index1':'index3'] # 索引切取多列 df.loc[:,'col1:'col3']
3.时间序列
import pandas as pd dict ={ 'col1':['zhangsan','lisi','wangwu'], 'col2':[200,100,300], 'col3':['2011-01-01','2011-02-03','2020-01-01'] } df=DataFrame(data=dict) # 将列col3转为时间序列 df['col3']=pd.to_datetime(df['col3']) # 将列col3转为行索引 df.set_index(df['col3'],inplace=True,drop=False) df.drop(labels='col3',axis=1)