精华内容
下载资源
问答
  • pandas 筛选数据

    千次阅读 2018-04-25 10:14:54
    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。 多条件筛选 这里的筛选方法,是根据不同字段的...

    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。

    多条件筛选

    这里的筛选方法,是根据不同字段的不同条件,对行进行筛选,每个条件得到一个index集合, 求不同index集合的与、或、非和差集等运算。
    数据如下:

    import pandas as pd
    from pandas import DataFrame, Series
    data = DataFrame({"a":[1, 2, 3, 4], "b":[6, 7, 8, 9]})
    
    Out[22]: 
       a  b
    0  1  6
    1  2  7
    2  3  8
    3  4  9

    交集(与关系):&

    选出a列大于2 并且 b列小于9的数据。index[2, 3] 和 index[0, 1, 2] => 交集为index[2]

    data[(data["a"]>2) & (data["b"]<9)]
    
    Out[23]: 
       a  b
    2  3  8

    并集(或关系):|

    选出a列大于2 或者 b列等于6的数据

    data[(data["a"]>2) | (data["b"]==6)]
    
    Out[26]: 
       a  b
    0  1  6
    2  3  8
    3  4  9

    补集(非关系):~

    选出不符合“a列大于2”这一条件的数据

    data[~(data["a"]>2)]
    Out[27]: 
       a  b
    0  1  6
    1  2  7

    对称差集:^

    属于集合A和B的并集但不属于A和B的交集的元素

    data[(data['a']>=2)]#集合A
    Out[73]: 
       a  b
    1  2  7
    2  3  8
    3  4  9
    
    data[(data['b']<=8)]#集合B
    Out[74]: 
       a  b
    0  1  6
    1  2  7
    2  3  8
    
    data[(data['a']>=2) ^ (data['b']<=8)]#对称差集
    Out[75]: 
       a  b
    0  1  6
    3  4  9
    

    isin(序列):选出在序列中的数据

    lis = [3, 4]
    data[data['a'].isin(lis)]
    Out[28]: 
       a  b
    2  3  8
    3  4  9
    #也可以用map方法实现上述功能
    data[data['a'].map(lambda x:x in a)]
    展开全文
  • pandas筛选数据

    2019-09-19 10:57:34
    import pandas as pd data = { 'sno':['14770110', '14770111', '14770112', '14770113', '14730114'], 'sname':['李白', '赵云', '干将', '鲁班', '花木兰'], 'sex':['man', 'woman', 'man', 'woman', 'man'],...

    代码

    import pandas as pd
    
    
    data = {
    	'sno':['14770110', '14770111', '14770112', '14770113', '14730114'],
    	'sname':['李白', '赵云', '干将', '鲁班', '花木兰'],
    	'sex':['man', 'woman', 'man', 'woman', 'man'],
    }
    
    df = pd.DataFrame(data)
    
    
    print(df)
    print('='*30)
    print(df.sex == 'woman')
    print('='*30)
    print(type(df.sex == 'woman'))
    print('='*30)
    print(df[df.sex == 'woman'])
    print('='*30)
    
    print(df['sex'].value_counts())#得到每个属性的个数
    print('='*30)
    print(type(df['sex'].value_counts()))
    print('='*30)
    
    print(df.groupby(by = ['sex']))
    print('='*30)
    print(df.groupby(by = ['sex']).count())
    print('='*30)
    print(df.groupby(by = ['sex']).count().reset_index())#参数inpalce = Ture
    

    运行结果

            sno sname    sex
    0  14770110    李白    man
    1  14770111    赵云  woman
    2  14770112    干将    man
    3  14770113    鲁班  woman
    4  14730114   花木兰    man
    ==============================
    0    False
    1     True
    2    False
    3     True
    4    False
    Name: sex, dtype: bool
    ==============================
    <class 'pandas.core.series.Series'>
    ==============================
            sno sname    sex
    1  14770111    赵云  woman
    3  14770113    鲁班  woman
    ==============================
    man      3
    woman    2
    Name: sex, dtype: int64
    ==============================
    <class 'pandas.core.series.Series'>
    ==============================
    <pandas.core.groupby.generic.DataFrameGroupBy object at 0x000001E1117EA710>
    ==============================
           sno  sname
    sex              
    man      3      3
    woman    2      2
    ==============================
         sex  sno  sname
    0    man    3      3
    1  woman    2      2
    [Finished in 0.8s]
    
    展开全文
  • Pandas 筛选数据

    千次阅读 2018-11-01 20:22:56
    import pandas as pd # http://www.csindex.com.cn/zh-CN/downloads/indices?lb=%E5%85%A8%E9%83%A8&amp;amp;amp;xl=1 # 通过读取 Excel 文件创建 DataFrame df = pd.read_excel(&amp;quot;index300.xls&...

    – Start

    import numpy as np
    import pandas as pd
    
    pd.set_option('display.max_columns', 100)
    pd.set_option('display.max_rows', 100)
    pd.set_option('display.width', 1000)
    
    
    # http://www.csindex.com.cn/zh-CN/downloads/indices?lb=%E5%85%A8%E9%83%A8&xl=1
    # 通过读取 Excel 文件创建 DataFrame
    df = pd.read_excel("index300.xls", sheet_name="Price Return Index", index_col=0)
    
    
    # 筛选某一列或几列
    print(df['收盘Close'])
    print(df.收盘Close)
    print(df[['开盘Open', '收盘Close']])
    print(df['20181019':'20181010'])
    
    
    # 根据行标签,筛选某一行或几行
    print(df.loc[pd.datetime(2018, 10, 26)])
    print(df.loc['20181026':'20181022'])
    
    # 根据行位置,筛选某一行或几行
    print(df.iloc[0])
    print(df.iloc[0:5])
    print(df[0:5])
    
    
    # 根据行标签,筛选行和列
    print(df.loc[[pd.datetime(2018, 10, 26), pd.datetime(2018, 10, 25)], ['开盘Open', '收盘Close']])
    print(df.loc['20181026':'20181022', '开盘Open':'收盘Close'])
    print(df.loc[:, '开盘Open':'收盘Close'])  # 筛选列
    print(df.loc['20181026':'20181022', :])  # 筛选行
    
    # 根据行位置,筛选行和列
    print(df.iloc[[0, 1], [5, 8]])
    print(df.iloc[0:5, 5:9])
    print(df.iloc[:, [5, 8]])  # 筛选列
    print(df.iloc[0:5, :])  # 筛选行
    
    
    # 根据行标签,筛选单元格
    print(df.loc[pd.datetime(2018, 10, 26), '收盘Close'])
    print(df.at[pd.datetime(2018, 10, 26), '收盘Close'])
    
    # 根据行位置,筛选单元格
    print(df.iloc[0, 8])
    print(df.iat[0, 8])
    
    
    # 筛选值
    print(df[df > 3200])
    print(df[df['收盘Close'] > 3200])
    print(df[df['收盘Close'] == df['收盘Close'].max()])
    print(df[df['收盘Close'] > 3200][['开盘Open', '收盘Close']])
    print(df[df['股息率2(计算用股本)D/P2'].isin(['2.39', '2.46'])].iloc[:, 14:])
    print(df[(df['开盘Open'] > 3200) & (df['收盘Close'] > 3200)])
    print(df[(df['开盘Open'] > 3200) | (df['收盘Close'] > 3200)])
    
    

    – 更多参见:Pandas 精萃
    – 声 明:转载请注明出处
    – Last Updated on 2018-11-10
    – Written by ShangBo on 2018-11-01
    – End

    展开全文
  • pandas筛选数据

    2018-09-03 16:22:00
    假如我们想要筛选D列数据中大于0的行:df[df['D']>0] 使用&符号可以实现多条件筛选,当然是用"|"符号也可以实现多条件,只不过他是或的关系。df[df['D']<0 | df['D']<0] 假如我们只需要A和B列数据...

    https://jingyan.baidu.com/article/0eb457e508b6d303f0a90572.html

    假如我们想要筛选D列数据中大于0的行:df[df['D']>0]

    使用&符号可以实现多条件筛选,当然是用"|"符号也可以实现多条件,只不过他是或的关系。df[df['D']<0 | df['D']<0]

    假如我们只需要A和B列数据,而D和C列数据都是用于筛选的,可以这样写:只返回了AB两列数据df[['A','B']][df['D']<0 | df['D']<0]

    我们还可以使用insin方法来筛选特定的值,把要筛选的值写到一个列表里,如alist.----df['D'].isin(alist)

     

    转载于:https://www.cnblogs.com/xubing-613/p/9579170.html

    展开全文
  • 巧用Pandas筛选数据

    2019-01-31 23:24:10
    初始化数据如下 In [6]: name = ['alex', 'sam', 'tom', 'nick', 'jack'] In [76]: data Out[76]: 0 1 2 3 name 0 0.463155 0.539862 0.519511 0.327331 alex 1 1.000000 0.949...
  • 放下它们:nms.dropna(thresh=2)这将删除至少有两个非-NaN的所有行。然后您可以删除名称所在的位置NaN:In [87]:nmsOut[87]:movie name rating0 thg John 31 thg NaN 43 mol Graham NaN4 lob NaN NaN5 lo...
  • pandas 筛选数据,同时满足多个条件

    万次阅读 2018-07-13 17:38:11
    # 筛选排名前10的最多产的导演的 电影数据 top10_dire_movies = df_dire[df_dire[ 'dire' ].isin(top10_dire.index)] top10_dire_movies ## 错误用法:使用in逻辑判断。 要用.isin()方法 df_dire[df_dire[ 'dire...
  • pandas筛选数据时可能会遇到的报错

    千次阅读 2018-07-12 19:29:07
    df[df['director'].str.contains('|')] ## output ValueError: cannot index with vector containing NA / NaN...## 仔细查看数据 df.director.str.contains('|').unique() ## output array([True, nan], dtype=obj...
  • pandas筛选表格数据

    2019-02-19 15:36:15
    虽然去年就开始用pandas筛选数据,但有些方法还是容易忘记,工作中写的代码差点出错了,所以把这些内容记下来。其实英文官方文档上的内容非常详细,可以多看看。 多条件筛选 这里的筛选方法,是根据不同字段的不同...
  • pandas筛选排序数据

    2017-09-26 13:49:14
    使用Pandas数据进行筛选和排序 转自:http://bluewhale.cc/2016-08-06/use-pandas-filter-and-sort.html 筛选和排序是Excel中使用频率最多的功能,通过这个功能可以很方便的对数据表中的数据使用...
  • Pandas学习 数据筛选

    2021-02-26 14:48:39
    Pandas关于数据筛选部分的学习
  • 今天我们就先来看一下数据的行列筛选。首先我们调用Pandas程序包,把目标EXCEL文件读进来赋值给data并查看以下数据是否正常读入。import pandas as pddata=pd.read_excel('D:/temp/员工综合绩...
  • 15th, 2018Pandas最近一个小项目中,需要完成以下事情。有一个csv文件,里面的每一条记录是一个计算任务的编号,内容描述,在超算系统里的process ID以及计算结果的md5映射(列的名称分别为“task_id”,“task_desc...
  • pandas-高性能数据筛选-loc(全网最详细讲解,含代码实例)接着上一篇文章,今天来学习一下数据筛选的另外一种方式:iloc重点需要掌握的知识点:iloc和loc通俗一点讲双胞胎一样,但是,loc是根据标签来筛选,而iloc是...
  • 全文共2071字,预计学习时长6分钟Pandas库目前已经成为用Python进行探索性数据分析的绝佳伴侣。它功能丰富,灵活易用,成为了当今许多数据科学家的首选。Pandas库的社区也很完善,这让它能够一直积极发展和改进。...
  • 前段时间写过关于在pandas中如何筛选数据,如loc,iloc,今天讲一讲reindexpandas中的reindex原来是干什么的呢?官方的解释是这样的:Conform DataFrame to new index with optional filling logic, placing NA/NaN ...
  • pandas按条件筛选数据

    万次阅读 2019-04-08 19:39:58
    pandas中对DataFrame筛选数据的方法有很多的,以后会后续进行补充,这里只整理遇到错误的情况。 1.使用布尔型DataFrame对数据进行筛选 使用一个条件对数据进行筛选,代码类似如下: num_red=flags[flags['red']=...
  • 还是用图说话A文件:比如,我想筛选出“设计井别”、“投产井别”、“目前井别”三列数据都为11的数据,结果如下:当然,这里的筛选条件可以根据用户需要自由调整,代码如下:# -*- coding: utf-8 -*-"""Created on ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,657
精华内容 662
关键字:

pandas筛选数据