pandas选择数据&pandas赋值及操作

import numpy as np
import pandas as pd
dates = pd.date_range('20170101',periods=6)
df1 = pd.DataFrame(np.arange(24).reshape((6,4)),
                   index=dates,columns=['A','B','C','D'])
df1

pandas选择数据&pandas赋值及操作_第1张图片

df1['A']
#提取A这个列,是series结构
#将DataFrame的列获取为一个Series

pandas选择数据&pandas赋值及操作_第2张图片

df1.A
#也是获取一个列

pandas选择数据&pandas赋值及操作_第3张图片

df1[0:2]
#取0-1行

pandas选择数据&pandas赋值及操作_第4张图片

df1['20170102':'20170104']
#也是取行的一个操作

pandas选择数据&pandas赋值及操作_第5张图片

#通过索引选择数据
df1.loc['20170102']

pandas选择数据&pandas赋值及操作_第6张图片

df1.loc['20170102',['A','C']]
#提取20170102这一行中的A和C两列
df1.loc[:,['A','B']]
#:代表提取所有的行中的A和B两列

pandas选择数据&pandas赋值及操作_第7张图片

#通过位置选择数据
df1.iloc[2]
#提取第二行

pandas选择数据&pandas赋值及操作_第8张图片

df1.iloc[1:3,2:4]
#提取1到2行,2到3列

pandas选择数据&pandas赋值及操作_第9张图片

df1.iloc[[1,2,4],[1,3]]
#提取1,2,4行,1,3列

pandas选择数据&pandas赋值及操作_第10张图片

#混合标签位置选择
#df1.ix[2:4,['A','C']]
df1.iloc[:df1.index.get_loc('20170101')+2,2:4]
#提取1、2行,2、3列

pandas选择数据&pandas赋值及操作_第11张图片

df1.A > 6
#判断A这一行是否大于6

pandas选择数据&pandas赋值及操作_第12张图片

df1[df1.A>6]

pandas选择数据&pandas赋值及操作_第13张图片
pandas赋值

dates = np.arange(20170101,20170107)
df1 = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates,
                                         columns=['A','B','C','D'])
df1
df1.iloc[2,2]

df1.iloc[2,2] = 100 #对第二行第二列的数重新赋值
df1

pandas选择数据&pandas赋值及操作_第14张图片

df1.loc[20170102,'B'] = 200 #利用标签的方式进行赋值
df1

pandas选择数据&pandas赋值及操作_第15张图片

df1[df1.A>10] = 0 #将A这一列大于10的值都返回为0
df1

pandas选择数据&pandas赋值及操作_第16张图片

df1.A[df1.A==0] = 1 #将A这一列等于0的都赋值为1
df1

pandas选择数据&pandas赋值及操作_第17张图片

df1['E'] = 10  #插入E的这一列,赋值为10
df1

pandas选择数据&pandas赋值及操作_第18张图片

df1['F'] = pd.Series([1,2,3,4,5,6],index=dates)
df1
#插入F这一列

pandas选择数据&pandas赋值及操作_第19张图片

df1.loc[20170107,['A','B','C']] = [1,2,3]  
#添加行
df1

pandas选择数据&pandas赋值及操作_第20张图片

s1 = pd.Series([1,2,3,4,5,6],index=['A','B','C','D','E','F'])
s1.name = 'S1'
df2 = df1.append(s1)
df2
#添加行

pandas选择数据&pandas赋值及操作_第21张图片

df1.insert(1,'G',df2['E'])
#在第一列插入索引为G的df2中的E列
df1

pandas选择数据&pandas赋值及操作_第22张图片

g = df1.pop('G') #将G这一列弹出,保存在g中
df1.insert(6,'G',g)#在第六列后插入
df1

pandas选择数据&pandas赋值及操作_第23张图片

del df1['G']
#删除G列
df1

pandas选择数据&pandas赋值及操作_第24张图片

df2 = df1.drop(['A','B'],axis=1)#删除A,B列
df2

pandas选择数据&pandas赋值及操作_第25张图片

df2 = df1.drop([20170101,20170102],axis=0)#删除20170101,20170102行
df2

pandas选择数据&pandas赋值及操作_第26张图片

你可能感兴趣的:(pandas,python)