python-pandas库

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)

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容