Pandas是一个非常好用的工具,可以用来处理各种格式的数据,例如过滤注释信息生成最终结果。此文仅仅是记录如何在Pandas中选择数据。当然,这仅仅是从网络上获取的一部分。侵联删。

import pandas as pddata=pd.read_csv("detail.part.txt", sep="\t")data.head()code  name  changepercent  trade   open   high    low
0  603999  读者传媒         -1.987   5.92   6.00   6.00   5.91
1  603998  方盛制药         -1.995   7.86   7.98   8.02   7.84
2  603997  继峰股份          0.000  10.87   0.00   0.00   0.00
3  603996  中新科技         -3.081  11.01  11.43  11.60  10.83
4  603993  洛阳钼业         -1.363   5.79   5.83   5.89   5.74

1. 按行选取数据

#选取连续多行数据
data[:3]
Out[23]: code  name  changepercent  trade  open  high   low
0  603999  读者传媒         -1.987   5.92  6.00  6.00  5.91
1  603998  方盛制药         -1.995   7.86  7.98  8.02  7.84
2  603997  继峰股份          0.000  10.87  0.00  0.00  0.00data.iloc[12:16]
Out[24]: code  name  changepercent  trade   open   high    low
12  603980  吉华集团         -0.836  15.42  15.45  15.51  15.35
13  603979   金诚信         -1.416   9.05   9.18   9.26   9.04
14  603978  深圳新星          0.412  34.09  34.01  34.75  33.90
15  603977  国泰集团         -0.228   8.75   8.76   8.86   8.66data.loc[29:32]
Out[25]: code  name  changepercent  trade   open   high    low
29  603936  博敏电子         -1.729  19.33  19.60  19.98  19.27
30  603933  睿能科技         -0.801  22.30  22.49  22.58  22.02
31  603929  亚翔集成         -1.178  20.97  20.95  21.50  20.90
32  603928  兴业股份         -3.333  16.24  16.79  16.79  16.21#选取某一行数据
data.iloc[1493]
Out[56]:
code             300676
name               华大基因
changepercent     -2.89
trade              76.6
open              78.49
high              79.58
low               75.88
Name: 1493, dtype: objectdata.ix[133]
Out[70]:
code             603708
name                家家悦
changepercent     3.408
trade             23.67
open              22.54
high              23.74
low               22.22
Name: 133, dtype: objectdata.iloc[3483:3484]
Out[62]: code  name  changepercent  trade   open   high    low
3483    63  中兴通讯          0.587  15.43  15.24  15.85  14.83#选取不连续的行
data.loc[[3483,1493,1260,1230]]
Out[26]: code  name  changepercent  trade   open   high    low
3483      63  中兴通讯          0.587  15.43  15.24  15.85  14.83
1493  300676  华大基因         -2.890  76.60  78.49  79.58  75.88
1260  600200  江苏吴中         -1.423   7.62   7.71   7.74   7.57
1230  600234  ST山水         -2.517   7.36   7.50   7.58   7.21data.loc[100:126:4]
Out[66]: code  name  changepercent  trade   open   high    low
100  603798   康普顿          0.291  13.80  13.75  13.85  13.60
104  603787  新日股份         -1.228  10.46  10.75  10.89  10.44
108  603776   永安行         -1.197  35.50  35.57  35.98  35.42
112  603766  隆鑫通用         -0.350   5.69   5.70   5.72   5.62
116  603737   三棵树         -0.351  48.24  48.09  48.30  47.18
120  603728  鸣志电器         -2.148  14.58  15.38  15.39  14.58
124  603722   阿科力         -2.667  39.78  40.88  41.32  38.52

2.按列选取数据

#列名称
data.columns
Out[71]: Index(['code', 'name', 'changepercent', 'trade', 'open', 'high', 'low'], dtype='object')#选取某一列
data['code'].head()
Out[72]:
0    603999
1    603998
2    603997
3    603996
4    603993
Name: code, dtype: int64data.name.tail()
Out[135]:
3597     ST明科
3598     退市长油
3599    *ST保千
3600     凤凰光学
3601     银鸽投资
Name: name, dtype: object#选取某列的指定部分
data.name[12:19]
Out[140]:
12    吉华集团
13     金诚信
14    深圳新星
15    国泰集团
16    正川股份
17    中农立华
18    银龙股份
Name: name, dtype: objectdata.name[12:19:2]
Out[141]:
12    吉华集团
14    深圳新星
16    正川股份
18    银龙股份
Name: name, dtype: object#根据列名称选取指列
data[['code','name', 'low']].head()
Out[73]: code  name    low
0  603999  读者传媒   5.91
1  603998  方盛制药   7.84
2  603997  继峰股份   0.00
3  603996  中新科技  10.83
4  603993  洛阳钼业   5.74data[['code','low']].head(100).tail()
Out[115]: code    low
95  603806  21.64
96  603803  12.58
97  603801  41.00
98  603800  14.43
99  603799  69.70#选择连续多列
data.loc[:,:'high'].head()
Out[96]: code  name  changepercent  trade   open   high
0  603999  读者传媒         -1.987   5.92   6.00   6.00
1  603998  方盛制药         -1.995   7.86   7.98   8.02
2  603997  继峰股份          0.000  10.87   0.00   0.00
3  603996  中新科技         -3.081  11.01  11.43  11.60
4  603993  洛阳钼业         -1.363   5.79   5.83   5.89data.iloc[2000:2018,1:4]
Out[101]: name  changepercent  trade
2000  振东制药         -1.493   4.62
2001  恒泰艾普         -2.720   6.08
2002  神雾环保         -2.500   6.63
2003   安居宝         -2.405   4.87
2004  瑞凌股份         -0.958   5.17
2005  科泰电源          0.125   8.04
2006  科融环境         -3.106   3.12
2007  昌红科技         -2.560   6.09
2008  世纪瑞尔         -0.774   5.13
2009  量子生物          0.067  15.01
2010  天舟文化         -2.464   4.75
2011  香雪制药         -2.163   7.69
2012  汤臣倍健          0.000   0.00
2013  中金环境         -0.978   5.06
2014  宋城演艺          0.305  26.28
2015  星普医科         -3.469   9.46
2016  沃森生物          9.995  21.35
2017  和顺电气         -2.169   8.12#选取不连续的多行,多列数据
data.iloc[1493:1509:2,1::2]
Out[106]: name   trade    high
1493  华大基因   76.60   79.58
1495  佩蒂股份   51.03   52.80
1497  富满电子   30.26   31.10
1499  沪宁股份   20.82   21.02
1501  必创科技   32.70   33.73
1503  飞鹿股份   13.11   13.55
1505  科蓝软件   16.42   17.52
1507  圣邦股份  116.60  118.88data.loc[1493:1509:2,['name','high','low']]
Out[107]: name    high     low
1493  华大基因   79.58   75.88
1495  佩蒂股份   52.80   50.88
1497  富满电子   31.10   30.03
1499  沪宁股份   21.02   20.81
1501  必创科技   33.73   32.70
1503  飞鹿股份   13.55   13.11
1505  科蓝软件   17.52   16.42
1507  圣邦股份  118.88  109.50
1509  中孚信息   21.69   20.81

3.选取指定位置数据

data.iat[1493,1]
Out[114]: '华大基因'data.at[1,'name']
Out[132]: '方盛制药'

总结

1. DataFrame可以按照行和列选择目标数据,通常使用loc,iloc,ix函数。选取指定位置的数据使用iat,at函数;

2.上述三个函数都是按照函数[行,列]的格式选择数据;

3. 函数中的行和列参数包含3个部分,分别是起始位置,结束位置,步长。例如,data.iloc[2000:2018:2,1:5:2];

4. loc,at选择列只能使用列名称不能使用列的位置;

5. iloc,iat选择列只能使用列的位置不能使用列的名称;

6. DataFrame对象只能进行行选择或者列选择,不能同时进行列选择,列选择只能是列名;

7. DataFrame对象进行选取后,大部分情况下返回的仍旧是DataFrame对象,所以可以对DataFrame链式操作。例如,data[120:136:2].code

参考内容:

1. Pandas DataFrame的loc、iloc、ix和at/iat浅析

2. 一张图弄懂Python索引和切片

3. Pandas之容易让人混淆的行选择和列选择

4. pandas中Dataframe的查询方法([], loc, iloc, at, iat, ix)

Pandas选择数据相关推荐

  1. pandas 选择数据 字符串_读完本文,轻松玩转数据处理利器Pandas 1.0

    选自Medium 作者:Tom Waterman机器之心编译参与:李诗萌.魔王 2020 年 1 月 9 日 Pandas 1.0.0rc 版本面世,Facebook 数据科学家 Tom Waterm ...

  2. Pandas选择一列或者多列数据

    Pandas选择一列或者多列数据 目录 Pandas选择一列或者多列数据 #将要筛选的数据列添加到list中并使用[]

  3. pandas索引和选择数据

    使用pandas索引和选择数据时,总是需要百度,因此决定对pandas.DataFrame中的索引和选择方法做个总结.所用的pandas版本号为0.20.1 pandas中有三种索引方法:.loc,. ...

  4. pandas 索引_Pandas学习笔记03数据清洗(通过索引选择数据)

    点击上方"可以叫我才哥"关注我们 今天我们就在jupyterlab里进行操作演示,本次推文内容主要以截图为主了. 有兴趣的可以公众号回复 "索引" 获取 演示原 ...

  5. Pandas简明教程:七、Pandas缺失数据的处理(数据清洗基础)

    文章目录 1.缺失数据的类型 2.定位缺失数据 3.修改定位数据 4.批量修改缺失数据 5.数据修复的利器--插值法(`interpolate`) 本系列教程教程完整目录: 数据清洗的内容其实很丰富, ...

  6. Pandas处理数据太慢,来试试Polars吧!

    大家好- 很多人在学习数据分析的时候,肯定都会用到Pandas这个库,非常的实用! 从创建数据到读取各种格式的文件(text.csv.json),或者对数据进行切片和分割组合多个数据源,Pandas都 ...

  7. python数据预处理案例_对pandas进行数据预处理的实例讲解

    参加kaggle数据挖掘比赛,就第一个赛题Titanic的数据,学习相关数据预处理以及模型建立,本博客关注基于pandas进行数据预处理过程.包括数据统计.数据离散化.数据关联性分析 引入包和加载数据 ...

  8. 使用Seaborn和Pandas进行数据可视化

    目录 介绍 在Python中比较可视化库 Seaborn可视化类型 创建一个条形图 创建Seaborn折线图 评论 有了我们的数据集之后,我们将快速查看可以使用流行的Python库从数据集轻松创建可视 ...

  9. pandas 不要编号 加一行_文科生带你学Python|Pandas读取数据

    16 2020-08 文科生带你学Python|Pandas读取数据 距离上一次更新时间有点久,原因么,被大佬的代码打击到了,于是回去自闭充了一波电-- LEARN MORE 图片来自网络,如侵删 向 ...

最新文章

  1. 数据中心建设模式变革-- 如何采用EPC模式实现快速交付?
  2. 巴特沃斯滤波器应用场合_巴特沃斯数字低通滤波器设计及应用
  3. 数据结构与算法:树与二叉树python实现
  4. 在计算机中能不能隐藏图片,意想不到的加密方法-怎么把任意文件隐藏在图片里...
  5. 搜索不包含关键词_关键词排名:搜索同一个关键词,每次的排名却不一样?
  6. mac使用Java命令运行Java程序
  7. c语言开源库windows,几款国产开源的Windows界面库
  8. 2021年值得推荐的几个可视化软件
  9. 5G时代|淘宝直播高画质低延时技术探索
  10. 程序员到底要学什么?
  11. 给MK802(USB大小的Android4.0小PC)引出串口信号,变成ARM开发版
  12. 语言栏多出EN、JP等键盘布局的解决方案
  13. ANSI转义序列详解
  14. [1101]flink常用参数说明
  15. SuperMap iDesktop 之 BIM优化流程——建筑篇
  16. MOS管与三极管比较及应用
  17. ZJNU 2448 Spiderman
  18. Python数据挖掘项目:构建随机森林算法模型预测分析泰坦尼克号幸存者数据
  19. Mac 终于有显示隐藏文件的快捷键了
  20. 【Revit二次开发】模型中存储数据——参数和外部存储(Parameter, Schema and Entity)

热门文章

  1. 链表算法 Implemented with C++
  2. 苹果报告问题_郭明錤:入门款iPhone 12的相机镜头供应商遇到质量问题,但不会影响新品的发布时间...
  3. 评估指标(Metric)(三)
  4. 前端基础(五)_CSS文本文字属性、背景颜色属性
  5. 网络游戏外挂制作技术浅谈 - -
  6. 敬业签安卓手机便签如何使用本机号码一键登录?
  7. word查找替换正则式的一例
  8. 51单片机(二)流水灯的几种实现方法
  9. 轩辕剑外传天之痕游戏评析
  10. iceberg系列(2):存储详解-partition-1