import pandas as pd
import numpy as np
s1 = pd.Series([4,7,-5,3]) #创建一个series 索引为默认值
print(s1)
s1.values
s1.index
s2 = pd.Series([4.3,44,7,6],index=['d','s','f','a']) #想当与一个有序字典
print(s2)
DataFrame
data = {'year':[2000,2001,2002,2003],
'income':[299999,333333,9999999,333333333],
'pay':[2200000,4994949,349394844,82398423048]}
df1 = pd.DataFrame(data)
print(df1)
df2 = pd.DataFrame(np.arange(12).reshape((3,4))) #用顺序表头
print(df2)
df3 = pd.DataFrame(np.arange(12).reshape((3,4)),index=['a','e','c'],columns=[2,12,324,4]) #指定表头
print(df3)
print(df1.columns) #行
print(df1.index) #列
print(df1.values) #值
print(df1.describe()) #计算里面的值
print(df3.sort_index(axis=1)) #水平方向排序 即列排序
print(df3.sort_index(axis=0)) #垂直方向排序 即行排序
print(df3.sort_values(by=12)) #对12这个数进行排序
选择数据
dates = pd.date_range('20200101',periods=6)
df1 = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
print(df1)
print(df1.A) #获取A列
print(df1['A'])
print(df1['20200102':'20200105']) #获取02 -05行
通过索引标签选择数据
print(df1.loc['20200102',['A','C']])
print(df1.loc[:,['A','C']])
通过位置选择数据
print(df1.iloc[2]) #第二行
print(df1.iloc[1:3,2:4]) #1-3行 2-4列
print(df1.iloc[[1,2,4],[1,3]]) #提取不连续行 不连续列
混合标签
print(df1.ix[2:3,['A','C']])
赋值操作
print(df1.A >12) #筛选出值大于12的行
print(df1[df1.A>12])
dates = np.arange(20200101,20200107)
df1 = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,columns=['A','B','C','D'])
print(df1)
df1.iloc[2,2]=29 #给第二行第二个赋值
df1.loc[20200103,'C']=2 #其中20200103不能加引号
print(df1)
df1[df1.A>10]=0 #将大于十的数全部赋值为0
print(df1)
df1.A[df1.A==0] =1 #将等于0的行赋值为1
df1['E']=10 #
print(df1) #添加一个新的列
df1['F']=pd.Series([1,2,3,4,5,6],index=dates) #添加一个新的列 值可以自己给定
print(df1)
df1.insert(1,'G',df2['E']) #插入一列为G的索引 内容为E中的
print(df1)
g = df1.pop('G') #弹出G列
df1.insert(6,'G',g) #在最后输入
print(df1)
del df1['G'] #删除G列
df2 = df1.drop('A','B') #删除AB列
df2 = df1.drop([20200101,20200102],axis=0) #删除 行
处理丢失数据‘
dates = np.arange(20200101,20200105)
df1 = pd.DataFrame(np.arange(12).reshape((4,3)),index=dates,columns=['A','B','C'])
print(df1)
df2 = pd.DataFrame(df1,index=dates,clumns=['A','B','C','D','E'])
print(df2)
s1 = pd.Series([3,4,6],index=dates[:3])
s2 = pd.Series([33,43,4],index=dates[1:])
df2['D'] = s1
df2['E'] = s2
print(df2)