pandas函数库使用

#coding=utf-8
import pandas as pd
import 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.nan
print(df.fillna(value=0))
#将含有nan的位置替换为0
print(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/pickle
data=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函数进行合并表格

你可能感兴趣的:(python)