栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

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

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

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

df1.A
#也是获取一个列

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

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

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

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

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

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

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

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

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

df1[df1.A>6]


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

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

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

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

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

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

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

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

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

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

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

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

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/444221.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号