pandas库

2019-01-31  本文已影响0人  护国寺小学生

import pandas as pd

import numpy as np

#pandas中axis=0表示index行,axis=1表示columns列

s=pd.Series([1,3,6,np.nan,44,1])

print(s)

dates=pd.date_range('20180719',periods=6)

print('2.',dates)

df=pd.DataFrame(np.random.randn(6,4),index=dates,columns=['a','b','c','d'])#利用pandas构建数据框架

print('3.',df)

print('4.',df.index)#索引,行名称

print('5.',df.columns)#列名称

print('6.',df.values)#列表所有值

print('7.',df.describe())#列表值的描述(均值,方差等)

print('8.',df.T)#转置

print('9.',df.sort_index(axis=1,ascending=False))#按列倒序,,默认按行顺序排列,ascending:上升的

print('10.',df.sort_values(by='c'))#

print('11.',df['a'],df.a)#取a列

print('12.',df[0:3])#取0,1,2共三行

print('13.',df.loc['2018-07-19'])#以标签的名称取值

print('14.',df.loc[:,['a','b']])#取a,b列数据

print('15.',df.iloc[3,1])#以行列位置取值,取第4行第2列的数值

print(df.iloc[2:3,2])

print('16.',df.ix[:3,['a','c']])#可以以名称、行列号混合取值

print('17.',df[df.a>0.1])#筛选


df.iloc[0,1]=np.nan

df.iloc[2,3]=np.nan

print(df)

print(df.dropna(axis=0,how='any'))#how='all',按行丢掉na值,any:一行中有任一个NA值,都将整行丢掉,all:整行都是NA值才将此行丢掉。

print(df.fillna(value=0))#将NA值填入0

print(np.any(df.isnull())==True)


import pandas as pd

import numpy as np

#合并数据框两种方法:pd.concat(join='outer')=append

df1=pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'])

df2=pd.DataFrame(np.ones((3,4))*1,columns=['a','b','c','d'])

df3=pd.DataFrame(np.ones((3,4))*2,columns=['a','b','c','d'])

print(df1)

print(df2)

print(df3)

res=pd.concat([df1,df2,df3],axis=0,ignore_index=True)#上下合并。沿着index行方向环绕数据框,ignore_index,忽略指引

print(res)

#合并数据框join

df3=pd.DataFrame(np.ones((3,4))*0,columns=['a','b','c','d'],index=[1,2,3])

df4=pd.DataFrame(np.ones((3,4))*1,columns=['b','c','d','e'],index=[2,3,4])

print(df3)

print(df4)

res1=pd.concat([df3,df4],join='outer')#join:如何处理其他轴上的索引,outer表示都保留,inner表示只留共有的

print(res1)

res2=pd.concat([df3,df4],join='inner',ignore_index='True')

print(res2)

res3=df3.append(df4,ignore_index='True')

print(res3)

pd.merge_ordered()


上一篇下一篇

猜你喜欢

热点阅读