pandas函数库使用

来源:互联网 发布:上海大学乐乎论坛二手 编辑:程序博客网 时间:2024/05/16 09:15
#coding=utf-8import pandas as pdimport numpy as np'''----------------pandas基本操作------------------------'''data=pd.Series([1,2,3,4,np.nan,1,2])#生成一个series列表print(data)date=pd.date_range('2017-10-3',periods=6)#生成一个日期列表print(date)df=pd.DataFrame(np.random.randn(6,7),index=date,columns=data)print(df)#生成一个行首为日期 列首为名称 6*7的表格 df=pd.DataFrame(np.arange(12).reshape((3,4)))#用numpy生成一个3*4的表格 行列默认从0自增print(df)df=pd.DataFrame({'A':1,'B':pd.Timestamp('20171002'),'C':pd.Series(1,index=list(range(4)),dtype='float64'),'D':np.array([3]*4,dtype='int32'),'E':pd.Categorical(['fred','ich','liebe','dich']),'F':'eisbrecher'})#字典形式使用numpy pandas各组件生成一个表格print(df)print(df.dtypes)#打印各列的数据类型print(df.columns)#打印每列列首下标名称print(df.index)#打印每行行首下标名称print(df.values)#打印每行内容print(df.sort_index(axis=1,ascending=False))#按照第一行首进行降序排序print(df.sort_values(by='E'))#将E所在列进行排序'''----------------pandas选择数据----------------------'''dates=pd.date_range('2017-10-1',periods=6)df=pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])print(df.A)print(df['A'])#打印其中一列print(df[0:3])print(df['2017-10-1':'2017-10-3'])#打印其中一行print(df.loc[:,['A','B']])#通过所在的位置标签打印print(df.iloc[1:2,1:2])#通过所在位置的下标打印print(df.ix[:3,['A','D']])#通过标签与下标混合打印'''----------------pandas处理缺失数据--------------------'''date=pd.date_range('20121010',periods=6)df=pd.DataFrame(np.arange(24).reshape((6,4)),index=date,columns=['A','B','C','D'])df.iloc[0,1]=np.nanprint(df.fillna(value=0))#将含有nan的位置替换为0print(df.dropna(axis=0,how='any'))#删除包含有nan的行'''----------------pandas导入导出文件--------------------'''#读取函数read_csv/excel/hdf/sql/json/msgpack/html/gbq/stata/sas/clipboard/pickle#保存函数to_csv/excel/hdf/sql/json/msgpack/html/gbq/stata/sas/clipboard/pickledata=pd.read_csv('C:\Users\Administrator\Desktop\ex14.csv')print(data)#data.to_csv('city.csv')'''----------------pandas合并表格------------------------'''df1=pd.DataFrame(np.ones((3,4))*1,columns=['A','B','C','D'])df2=pd.DataFrame(np.ones((3,4))*2,columns=['A','B','C','D'])df3=pd.DataFrame(np.ones((3,4))*3,columns=['A','B','C','D'])print(pd.concat([df1,df2,df3],axis=0,ignore_index=True))#对dataframe表格进行纵向合并 ignore_index表示忽略元表格下标df1=pd.DataFrame(np.ones((3,4))*1,index=[1,2,3],columns=['A','B','C','D'])df2=pd.DataFrame(np.ones((3,4))*2,index=[2,3,4],columns=['B','C','D','E'])print(pd.concat([df1,df2],join='outer',ignore_index=True))#join,['inner','outer'] inner表示只合并表格公有部分 outer表示合并所有多余部分用nan表示print(pd.concat([df1,df2],axis=1,join_axes=[df1.index]))#将df1的index设为默认index进行合并res=df1.append(df2,ignore_index=True)print(res)#df2表格添加到df1中df1=pd.DataFrame({'A':['A1','A2','A3','A4'],'B':['B1','B2','B3','B4']})df2=pd.DataFrame({'C':['C1','C2','C3','C4'],'B':['B1','B2','B3','B4']})res=pd.merge(df1,df2,on='B')print(res)#通过merge函数进行合并表格

原创粉丝点击