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
2013-01-04  12  13  14  15
2013-01-05  16  17  18  19
2013-01-06  20  21  22  23

>>> 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
Freq: D, Name: A, dtype: int32
>>> 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
Freq: D, Name: A, dtype: int32

#选择跨越多行或多列
>>> print(df[0:3])
            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
>>> print(df[‘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
#如果df[3:3]将会是一个空对象。后者选择20130102到20130104标签之间的数据,并且包括这两个标签。

2、根据标签loc筛选

通过标签名字选择某一行数据, 或者通过选择某行或者所有行:代表所有行)然后选其中某一列或几列数据

>>> print(df.loc[‘20130102‘])
A    4
B    5
C    6
D    7
Name: 2013-01-02 00:00:00, dtype: int32

>>> print(df.loc[:,[‘A‘,‘B‘]])
             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

>>> print(df.loc[‘20130102‘,[‘A‘,‘B‘]])
A    4
B    5
Name: 2013-01-02 00:00:00, dtype: int32

3、根据序列iloc

通过位置选择在不同情况下所需要的数据例如选某一个,连续选或者跨行选等操作。

>>> print(df.iloc[3,1])
13
>>> print(df.iloc[3:5,1:3])
             B   C
2013-01-04  13  14
2013-01-05  17  18
>>> print(df.iloc[[1,3,5],1:3])
             B   C
2013-01-02   5   6
2013-01-04  13  14
2013-01-06  21  22

4、混合loc、iloc两种的ix

>>> print(df.ix[:3,[‘A‘,‘C‘]])
            A   C
2013-01-01  0   2
2013-01-02  4   6
2013-01-03  8  10

5、通过判断的筛选

即可以采用判断指令 (Boolean indexing) 进行选择. 我们可以约束某项条件然后选择出当前所有数据.。

>>> print(df[df.A>8])
             A   B   C   D
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/anhoo/p/9383790.html

时间: 2024-09-29 18:48:31

Pandas选择数据的相关文章

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 2

Python Pandas DataFrame:查询数据or选择数据(selection)之loc,iloc,at,iat,ix的用法和区别

在操作DataFrame时,肯定会经常用到loc,iloc,at等函数,各个函数看起来差不多,但是还是有很多区别的,我们一起来看下吧. 首先,还是列出一个我们用的DataFrame,注意index一列,如下: 接下来,介绍下各个函数的用法: 1.loc函数 愿意看官方文档的,请戳这里,这里一般最权威. loc函数是基于"标签"选择数据的,但是也可以接受一个boolean的array,对于每个用法,我们一一举例: 1.1 单个label 接受一个"标签"(label)

Pandas处理数据中常用的命令及方法

首先导入必要的包 import numpy as npimport pandas as pd 1,拉取数据 eg:l_sql = "select * from item_t" df = pd.read_sql(l_sql,conn,index_col=None)       #其中conn为数据库连接,index_col=None表示不从数据中产生index 2,重命名DataFrame的列名 df.rename(index=str,columns={'MST01':'Item','D

easyui 筛选数据及仅允许选择数据

先说需求,本地已缓存数据源,用户输入拼音码或编号,筛选数据作为新的数据源,然后通过键盘选择. 再说问题,easyui combogrid控件,在mode为local,也就是将数据源缓存在本地的情况下,一般情况下,是通过 filter:function(q,row){ var opts=$(this).options; return row[opts.textField].indexOf(q)>-1; } 官网api也有介绍,但是在实际项目中有两个问题: 数据量较大,每次筛选很慢. 不知道是不是数

python Pandas 读取数据,写入文件

pandas 选取数据 iloc和 loc的用法不太一样,iloc是根据索引, loc是根据行的数值 >>> import pandas as pd >>> import os >>> os.chdir("D:\\") >>> d = pd.read_csv("GWAS_water.qassoc", delimiter= "\s+") >>> d.loc[1

怎样选择数据备份软件

随着数据安全市场的发展,数据防泄漏产业也呈现出了增长的趋势,而数据泄露的问题也在日益的滋生,企业时刻面临着数据泄露.监控不力等问题的困扰.因此对数据防泄漏产品的需求也就凸显出来了,如何选择一个合适的企业数据防泄漏产品,称为了一个棘手的问题.数据备份这项技术是为了能够保证数据安全的一种方法,那么怎么选择数据备份软件呢?下面看看北京睿芸翰林信息技术专员是怎么进行介绍的. 企业数据防泄密产品选择难的问题,主要体现在以下三方面: 一.企业数据安全需求分析是基础 客户要确定自己的核心需求,包括当前要解决的

数据挖掘工程师如何选择数据可视化工具?

如何选择数据可视化工具? 如何选用数据可视化工具?在回答这个问题之前现需要回答另外一个问题,你需要用这些数据可视化工具来做什么,实现什么目的. 也许你有一个完整的想法,已经通过验证了,需要用更直观易懂的方式来展现,从而讲述一个逻辑或者是一个故事:也许你是有大量的数据,你想怎么从这些数据中间发现,挖掘,并展现一些数据背后的知识或者洞察:也许你是有各种各样的数据,但是你不懂数据建模,编程,或者数据清洗,甚至是SQL的优化等你需要一个易用的数据可视化工具实现通过拖拽就能完成数据的可视化,并且可以给出最

UI :使用 UIPickerView 来选择数据

问题:想让用户在程序中从一个列表中选择数据. 通过 Picker view 可以显示一系列的值给用户,并且可以让用户选择其中一个.iPhone 中 Clock 程序里面的时间选择就是一个非常好的例子 .h文件: #import <UIKit/UIKit.h> @interface ViewController : UIViewController<UIPickerViewDataSource,UIPickerViewDelegate> @property(nonatomic,str

6.从客户端选择数据与获取栏位值

1.选择或取消选择页面上所有行利用SelectAllRowsOnPage方法语法1:void SelectAllRowsOnPage()语法2:void SelectAllRowsOnPage(bool selected)参数selected指明是选择或取消选择所有行 2.选中或取消指定行或所有行(1)SelectRows方法(根据行的索引来选择数据)语法1: void SelectRows()选择所有记录(包括不是当前页的记录) 语法2: void SelectRows(int visible