加载中…
个人资料
德铭资本
德铭资本
  • 博客等级:
  • 博客积分:0
  • 博客访问:125,998
  • 关注人气:80
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
相关博文
推荐博文
谁看过这篇博文
加载中…
正文 字体大小:

pandas基础:dataframe selection元素提取

(2018-03-15 14:22:23)
分类: python
dataframe的元素提取方法太多,详细写的话可以弄十几页,这里略微提一下一些基础的方法,官网建议多用优化过的函数 .at.iat.loc,.iloc and .ix.等等,下面归纳了一些基础,日后有空慢慢加
pandas基础:dataframe <wbr>selection元素提取

index如果是datetime格式可以直接打日期(第一行), df2['B'][-3:-1]提取B列倒数第二第三行,也可以写成df2.B[-3:-1],和数组切片一样df2.B[-5:-1:2]就是隔行提取,df2[0:3]按行提取,所以提取最后一行就是[-1:], loc函数可以分别按Index和values提取内容,比如1-3行A,C列就写成df2.loc['1':'3',['A','C']],对于单个元素提取用at快,另外iloc相当于二维坐标,而iat用于提取单个元素,另外isin类似numpy的in1d但功能扩展了很多,先看看说明
pandas基础:dataframe <wbr>selection元素提取
分别对List,dict和其他对象进行了说明,前面两个其实就根据原始数组的位置为准进行判断,values对应列的位置不重要,只要有就会在原始数组的位置显示,但values如果是dataframe就必须符合Index和columns两个标准,原话是:If `values` is a DataFrame, then both the index and column labels must match,所以最后一个例子会严格按照other的位置进行判断,isin可以进行很多灵活的查找,例如df.index.isin(df2.B[0:2])就是根据df2的B列前三行查看是否含有df的index,返回df的排列如下图
pandas基础:dataframe <wbr>selection元素提取

df2[df2['B'].isin(['20180301'])]这句就是返回三月一日的那行,这种写法等价于df2[df2.B=='20180301']

0

阅读 收藏 禁止转载 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 电话:4000520066 提示音后按1键(按当地市话标准计费) 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

新浪公司 版权所有