Panda的学习之路(2)——pandas选择数据

首先定义panda

dates=pd.date_range(‘20130101‘,periods=6)
# print(dates)
df=pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=[‘a‘,‘b‘,‘c‘,‘d‘])
print(df)
             a   b   c   d
2013-01-01   0   1   2   3
2013-01-02   4   5   6   7
2013-01-03   8   9  10  11
2013-01-04  12  13  14  15
2013-01-05  16  17  18  19
2013-01-06  20  21  22  23

一、选择特定的某一列

# 选择某一列 选列比较简单
print("选择具体的某一列")
print(df[‘a‘])
#print(df.a)#这两种表达方式一致

结果:

选择具体的某一列
2013-01-01     0
2013-01-02     4
2013-01-03     8
2013-01-04    12
2013-01-05    16
2013-01-06    20

二、选择特定的几行

2.1通过仿照array的形式来选择

print("选择特定的几行 0~1")
print(df[0:1])
print("选择20130102 到 20130104 行")
print(df[‘20130102‘:‘20130104‘])

结果:

选择特定的几行 0~1
            a  b  c  d
2013-01-01  0  1  2  3
选择20130102 到 20130104 行
             a   b   c   d
2013-01-02   4   5   6   7
2013-01-03   8   9  10  11
2013-01-04  12  13  14  15

2.2按照标签来选择(其实应该说是按照index来选择) 不管是行还是列 都必须是lable

# 按标签来选择
print("按照特定的标签进行")
print(df.loc[‘20130102‘])#loc是根据index来选择对应的行 也就是a行还是b行
# 把ab的数据全部弄出来
print("特定列给选出来")
print(df.loc[:,[‘a‘,‘b‘]])
print("把某一行的特定列给选出来")
print(df.loc[‘20130102‘,[‘a‘,‘b‘]])

结果:

按照特定的标签进行筛选
a    4
b    5
c    6
d    7
Name: 2013-01-02 00:00:00, dtype: int32
特定列给选出来
             a   b
2013-01-01   0   1
2013-01-02   4   5
2013-01-03   8   9
2013-01-04  12  13
2013-01-05  16  17
2013-01-06  20  21
把某一行的特定列给选出来
a    4
b    5
Name: 2013-01-02 00:00:00, dtype: int32

2.3按第几行(第几列)来进行选择     不管行列都是数字

# 按第几行来选择
print(df.iloc[3])#第三行的数据 iloc是根据数字 也就是第几行来决定索引
print(df.iloc[3:5,1:3])#三到5行 1:3 列

结果:

a    12
b    13
c    14
d    15
Name: 2013-01-04 00:00:00, dtype: int32
             b   c
2013-01-04  13  14
2013-01-05  17  18

2.4把lable和数字一起结合起来    就是又可以用数字 又可以用lable

# 把lable和第几位一起来筛选
print(df.ix[0:3,[‘a‘,‘c‘]])
print(df.ix[‘20130101‘:‘20130105‘,[‘a‘,‘c‘]])

结果:

            a   c
2013-01-01  0   2
2013-01-02  4   6
2013-01-03  8  10
             a   c
2013-01-01   0   2
2013-01-02   4   6
2013-01-03   8  10
2013-01-04  12  14
2013-01-05  16  18

三、是或者否的相关筛选

# 是或者否的筛选  只对比a 然后把其它的给显示出来
# print(df)
# a这一列中大于8的  然后把其它的bcd也会显示出来
print(df[df.a>6])

结果

             a   b   c   d
2013-01-03   8   9  10  11
2013-01-04  12  13  14  15
2013-01-05  16  17  18  19
2013-01-06  20  21  22  23

原文地址:https://www.cnblogs.com/William-xh/p/9557391.html

时间: 2024-08-30 14:58:43

Panda的学习之路(2)——pandas选择数据的相关文章

Panda的学习之路(3)——pandas 设置特定的值&处理没有数据的部分

先设定好我们的dataframe: # pandas 设置特定的值 dates=pd.date_range('20130101',periods=6) # print(dates) df=pd.DataFrame(np.arange(24).reshape(6,4),index=dates,columns=['a','b','c','d']) print(df) 结果: a b c d 2013-01-01 0 1 2 3 2013-01-02 4 5 6 7 2013-01-03 8 9 10

Qt 学习之路:视图选择 (QItemSelectionModel)

选择是视图中常用的一个操作.在列表.树或者表格中,通过鼠标点击可以选中某一项,被选中项会变成高亮或者反色.在 Qt 中,选择也是使用了一种模型.在 model/view 架构中,这种选择模型提供了一种更通用的对选择操作的描述.对于一般应用而言,Qt 内置的选择模型已经足够,但是,Qt 还是允许你创建自己的选择模型,来实现一些特殊的操作. Qt 使用QItemSelectionModel类获取视图中项目的选择情况.这个模型保持有项目的索引,并且独立于任何视图.这意味着,我们可以让不同的视图共享同一

Qt学习之路(54): 自定义拖放数据对象

前面的例子都是使用的系统提供的拖放对象 QMimeData 进行拖放数据的存储,比如使用 QMimeData::setText() 创建文本,使用 QMimeData::urls() 创建 URL 对象.但是,如果你希望使用一些自定义的对象作为拖放数据,比如自定义类等等,单纯使用 QMimeData 可能就没有那么容易了.为了实现这种操作,我们可以从下面三种实现方式中选择一个: 将自定义数据作为 QByteArray 对象,使用 QMimeData::setData() 函数作为二进制数据存储到

Oracle学习之路-SQL篇-预备数据

开始转向Oracle了,记录一下自己的学习历程 先创建一些表吧: ---------------//////创建学生表 create table student(   sno varchar2(10) primary key,   sname varchar2(20),   sage number(2),   ssex varchar2(5) ); -------------/////////创建教师表 create table teacher( tno varchar2(10) primary

Qt 学习之路 :可视化显示数据库数据

前面我们用了两个章节介绍了 Qt 提供的两种操作数据库的方法.显然,使用QSqlQuery的方式更灵活,功能更强大,而使用QSqlTableModel则更简单,更方便与 model/view 结合使用(数据库应用很大一部分就是以表格形式显示出来,这正是 model/view 的强项).本章我们简单介绍使用QSqlTableModel显示数据的方法.当然,我们也可以选择使用QSqlQuery获取数据,然后交给 view 显示,而这需要自己给 model 提供数据.鉴于我们前面已经详细介绍过如何使用

Pandas选择数据

1.简单筛选 >>> dates = pd.date_range('20130101', periods=6) >>> df = pd.DataFrame(np.arange(24).reshape((6,4)),index=dates, columns=['A','B','C','D']) >>> print(df) A B C D 2013-01-01 0 1 2 3 2013-01-02 4 5 6 7 2013-01-03 8 9 10 11

.Net程序员安卓学习之路3:Post数据给网络API

本例我们实现一次真正的网络交互,将数据POST到API,然后接收服务器的返回值进行处理,同时引入自定义类型和传说中阿里的FastJson. 实现思路如: 1. 在API端接收客户POST的数据还原成对象,给每个属性加个后缀后输出: 2. 在客户端输入用户名和密码,用来和服务器端返回的进行对比: 我们POST给服务器的是name=mady&pwd=123,服务器分别加了后缀为name=madya &pwd=1231所以我们客户端需要输入madya和1231才能验证成功. 具体操作展示如下:

Python学习之路-Day1-Python基础

Python学习之路第一天 学习内容: 1.Python简介 2.安装 3.第一个Python程序 4.变量 5.字符编码 6.用户输入 7.表达式if..else语句 8.表达式for语句 9.break和continue 10.while循环 11.字符串格式化 1.python简介 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏姆为了在阿姆斯特丹打发时间,决心开发一个新的脚本解释程序,作为ABC语言的一种继承. 最新的TIOB

Azure云平台学习之路(三)——Cloud Services

1.什么是云服务? 能够部署高度可用的且可无限缩放的应用程序和API.简而言之,就是你写的CMD程序按照一定的框架进行少量修改就能运行在Azure云平台上. 2.Azure云服务有什么特点? (1)专注应用程序而不是硬件,PaaS的一种. (2)支持多种框架和语言. (3)集成了运行状况监视和负载平衡. (4)自动缩放优化成本和性能 3.建立云服务之前,我们需要建立一个云存储,来记录我们的程序的日志信息(当然,这不是必须的) (1)选择左边导航栏的"存储".主面板上显示的是所有已有的存