精华内容
下载资源
问答
  • 今天小编就为大家分享一篇python 筛选数据集中列中value长度大于20的数据集方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
  • 学过点计算机,稍微懂点编程后,会感觉看很...前阵子,看着运营小妹妹天天花一个多钟筛选数据分类导出表格,脑子里就产生了想法,觉得这太废时间,应该会有更好的解决方式,大概了解了一下情况,决定做一个解决方案...

    学过点计算机,稍微懂点编程后,会感觉看很多问题的思维方式都有点不一样。遇上什么问题,首先都会想着有没有更优的解决方式。对于数据这类问题更是这样子,尤其是,遇上重复性操作的事情,总是会想着寻求更简便的方式去解决,能让计算机解决的问题,别浪费人工。

    前阵子,看着运营小妹妹天天花一个多钟筛选数据分类导出表格,脑子里就产生了想法,觉得这太废时间,应该会有更好的解决方式,大概了解了一下情况,决定做一个解决方案。

    初步梳理了一下问题后,逻辑很清楚,实现思路也很清晰,但是关键问题是,没有技术人员(有技术这个问题都不叫问题,很简单的一个事情),方案落地困难,敲代码我并不熟手,虽然也能读懂简单代码,但是没有技术的配合,要自己敲,时间成本高,得先学。

    这个事情其实并不是需求内的事情,就是说不去解决这个问题,也不是什么大事,但我还是觉得解决这个问题是有意义的,要做。解决没技术支撑这个问题,有两种途径:

    1、花点时间自己学自己动手,能学点技能,但时间成本高;

    2、协调其他部门的技术人员,但显然这个解决方式在这里显得更加复杂。

    像是这种需要技术支撑的问题,如果是需求内的事情,正常程序还是去协调人力资源比较符合常理(这个有很多原因这里不讲),但基于这不是个确定的紧急需求,刚好之前在某个交流群里面吹水说要不要一起学点新东西,人工智能的,python是基础,也有想过要学一下python,有点兴趣,所以决定把这个学一下,把这个数据的筛选问题作为练习。

    抽了时间(一个周末和上班期间一些空余时间加起来差不多也就三四天),看了python的基础,差不多了解了语言规则,安装环境,还有怎么样在本地运行后,就开始找关于数据筛选导出表格的解决方案,看看别人是怎么做相关类型的东西的,然后开始自己尝试写,然后debug。

    最后调试完成的时候,有点成就感,虽然熟练的程序员两个小时就能解决这个问题,我花了三四天,代码肯定也不是最优的,但至少我把这个问题解决了,而这个学习过程,自己也在提高自己解决问题的能动性。搞定了以后帮他们装运行环境,教他们怎么操作,瞬间感觉自己的level都up了好几层。可能以后不用的时候,很多东西又会忘记,趁记得,记录一下学习过程:

    1)安装python环境:

    直接在电脑本地安装环境也可以,不过之前学网页爬虫的时候郑同学介绍过Anaconda,专注于数据分析的Python发行版本,所以就直接用这个了。

    2)学python基础:

    网上找了很多,最后看了廖雪峰老师的教程,觉得适合自己:https://www.liaoxuefeng.com,邓同学也推荐了菜鸟教程,不过我个人更喜欢廖老师的讲解。其实一上来,直接去网上找一下别人的代码改一改,即使半懂半不懂也能解决这个问题,但个人觉得需要简单打一下基础,弄明白关键点,还有每一行代码的意思,毕竟这是个比较简单的程序,复杂的另说(单行过这个习惯是交换生的时候被教授逼着养成的,后面觉得对个人的编程学习规范性还是有很大的影响的)。

    3)敲代码:

    用python语言写一个简单的表格筛选程序,测试,运行成功后,再把完整的程序写出来,慢慢调试。

    感谢互相学习的同学们,表扬一下解决了一个小问题的自己。

    2018.06.15

    展开全文
  • DataFrame筛选数据与loc用法python中pandas下的DataFrame是一个很不错的数据结构,附带了许多操作、运算、统计等功能。如何从一个DataFrame中筛选中出一个元素呢。以tushare返回的交易日信息为例。df = ts.trade_cal...

    DataFrame筛选数据与loc用法

    python中pandas下的DataFrame是一个很不错的数据结构,附带了许多操作、运算、统计等功能。

    如何从一个DataFrame中筛选中出一个元素呢。

    以tushare返回的交易日信息为例。

    df = ts.trade_cal()

    数据如下:

    calendarDate isOpen

    0 1990/12/19 1

    1 1990/12/20 1

    2 1990/12/21 1

    3 1990/12/22 0

    4 1990/12/23 0

    5 1990/12/24 1

    6 1990/12/25 1

    7 1990/12/26 1

    8 1990/12/27 1

    9 1990/12/28 1

    10 1990/12/29 0

    11 1990/12/30 0

    12 1990/12/31 1

    13 1991/1/1 0

    14 1991/1/2 1

    15 1991/1/3 1

    16 1991/1/4 1

    17 1991/1/5 0

    18 1991/1/6 0

    19 1991/1/7 1

    20 1991/1/8 1

    21 1991/1/9 1

    22 1991/1/10 1

    23 1991/1/11 1

    24 1991/1/12 0

    25 1991/1/13 0

    26 1991/1/14 1

    27 1991/1/15 1

    28 1991/1/16 1

    29 1991/1/17 1

    ... ... ...

    9845 2017/12/02 0

    9846 2017/12/03 0

    9847 2017/12/04 1

    9848 2017/12/05 1

    9849 2017/12/06 1

    9850 2017/12/07 1

    9851 2017/12/08 1

    9852 2017/12/09 0

    9853 2017/12/10 0

    9854 2017/12/11 1

    9855 2017/12/12 1

    9856 2017/12/13 1

    9857 2017/12/14 1

    9858 2017/12/15 1

    9859 2017/12/16 0

    9860 2017/12/17 0

    9861 2017/12/18 1

    9862 2017/12/19 1

    9863 2017/12/20 1

    9864 2017/12/21 1

    9865 2017/12/22 1

    9866 2017/12/23 0

    9867 2017/12/24 0

    9868 2017/12/25 1

    9869 2017/12/26 1

    9870 2017/12/27 1

    9871 2017/12/28 1

    9872 2017/12/29 1

    9873 2017/12/30 0

    9874 2017/12/31 0

    如何取出某个日期的信息呢。例如年底了,想知道除夕前最后一个交易日是哪天。此处使用筛选功能。

    df[df.calendarDate=="2017/12/31"]

    输出如下:

    >>> df[df.calendarDate=="2017/12/31"]

    calendarDate isOpen

    9874 2017/12/31 0

    >>> df[df.icol(0)=="2017/12/11"]

    __main__:1: FutureWarning: icol(i) is deprecated. Please use .iloc[:,i]

    calendarDate isOpen

    9854 2017/12/11 1

    注意一定要写上双等号一定要写上双等号一定要写上双等号。重要的事情说3遍。。。

    因为如果是单等号,会报语法异常的。。。

    loc函数

    关于loc这个坑爹的函数的用法,咋说呢,不要被他的”纯以标签名来进行索引”迷惑了。因为如果你给Loc中的第一个参数一个str的话,极有可能返回的是一个异常,说不在index中。 。。。。

    坑爹。。。。

    这个loc的用法不是根据某个位置内容筛选的含义,仍然是对行、对列的一种筛选。比如你某行的索引自己设置标签啥的。。很让人一头雾水的设计。跟ix就是重复的。。。。

    大多数情况下的应用场景就是还是用数字取行,用str取列。

    比如loc[0:3,[“a”,”b”]]。取0到第3行(左闭右开,非整型值时左闭右闭。。。),”a”列与”b”列。

    以上这篇基于DataFrame筛选数据与loc的用法详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

    本文标题: 基于DataFrame筛选数据与loc的用法详解

    本文地址: http://www.cppcns.com/jiaoben/python/228501.html

    展开全文
  • 发现许多小伙伴入门Python几个月,还是低效率做数据处理。这套课程以形象的示意图,精心安排的案例,循序渐进带你玩转数据处理分析神器——pandas,课程中还有分析案例噢,干货满满!前言想象一下你有一份销售数据,...

    发现许多小伙伴入门Python几个月,还是低效率做数据处理。这套课程以形象的示意图,精心安排的案例,循序渐进带你玩转数据处理分析神器——pandas,课程中还有分析案例噢,干货满满!

    前言

    想象一下你有一份销售数据,你能够解决以下哪些问题:

    日销量,周销量,月销量如何?

    哪些是工作日中最好卖的产品。周末呢?如果包含一些节假日呢?

    销量在一个月的时间内,周销量一直保持上升或下降的产品有哪些?

    销量出现大幅波动的产品有哪些?是在什么时间点上出现波动?

    这些从简单到复杂的需求,都与时间处理有关,而且这只是冰山一角。掂量一下你手上的数据工具,Excel、Sql,各种 BI 工具?哪个可以轻易解决上述问题?

    本课程接下来的章节将带你解决这些问题,并教会你实现思路。我们开始吧!

    日期列

    课程上一节我们已经学会了如何把日期数据正确解析出来,现在来看看处理日期类型的数据有哪些套路。

    实例1:出生日期处理

    pandas 中最基础的日期类型是'时间点',工作中比较常见的是出生日期。 现在,我们有一份客户信息表:

    数据中有一列'出生日期'

    先看看,怎么从日期列获取'年月日':

    从结果上来看看,我们已经成功提取年月日信息

    有人注意到,代码中的 '.dt' 是什么意思?

    在 pandas 中,特意为日期列准备了一套方法,用于快速处理日期数据。通过 Series.dt 访问日期处理方法。

    注意,只有 Series 才需要通过 dt 属性访问日期处理方法,后面会看到其他的情况,此外,上述代码中调用的都是属性,因此不需要带括号的

    其他信息

    除了基本的年月日,工作中可能你还需要其他信息,比如:闰年、第几周等等。

    来看看怎么获取:

    dt.week ,返回该时间点是年中的第几周

    dt.is_leap_year ,是否闰年

    有时候希望直接显示'是或否',后面加个 map 即可:

    Series.map 方法在课程第7节有详细讲解

    同样道理,我们也可以获取出生当天是星期几:

    dt.weekday ,获取一个数字表示星期几,但注意是从0开始,0表示周一

    因此我们简单构造出一个 key 为0-6,item 为 一至日 的字典

    实例2:计算年龄

    你突然接到一个紧急任务,需要计算出客户的年龄。

    一开始你可能认为,用当前时间点与出生时间点,做简单年份相减即可:

    pd.to_datetime('today') ,即可获得当前系统的时间(当前时间为:2019年9月2日)

    today.year ,today 是一个时间点,而非一列时间点(Series),因此不需要使用 dt.year 访问年份

    勉强应付过去了,但后来还是被要求更精准计算年龄,怎么办呢?

    还没有过生日的,不能算一岁。好吧,我们可以这样完成:

    首先,正常用年份相减

    df['birthdate'].apply(lambda x: (x.month,x.day) ),把出生时间点的 月 和 日 提取成元组

    b_md <= (today.month,today.day) , 判断出生时间点(月日)是否小于等于今天(月日),这是一个 bool 列

    最后,直接把第一步的结果,减去 bool 列

    由于 True 会被当作1,False 当作0。因此刚好符合语义:'未过生日,则年份相减后,再减去1'

    python 中对元组进行比较,会首先比较第一个值,如果相等,则比较第二个值,以此类推

    你可能发现到,有些人的年龄是负数了,那些是本年出生的人,我们可以简单把小于0的数修改为0即可:

    课程后续会有专门章节讲解数据修改,这里不展开说明

    关键点

    通过几个例子来熟悉了日期类型列的处理套路,虽然我不希望讲解非常难懂的概念,但一些核心的概念我觉得还是需要有个基本了解。

    我们来看看案例数据的出生日期列的类型:

    birthdate 列,数据类型是 datetime64[ns]

    这是指 Series 所包含的数据的类型

    如果,我们从其中取出一个值,那么这个值是'时间戳':

    之前我们说到,如果你在操作一整个日期列(类型是 datetime64 的 Series),那么需要用 dt. 访问处理方法。

    但如果你在操作一个 Timestamp ,那么就不需要 dt 了。如下2个方法是效果一样:

    方式2中的 lambda 中的 x.year ,不需要 dt

    注意,方式1要比方式2执行快得多

    用好日期索引

    工作中另一种常见的日期数据是日期流水数据,如'银行卡支出记录'、'支付宝消费记录'等等,这也是许多分析工作中的难点。

    而 pandas 中对时间的处理是非常强大,这是因为 pandas 当初需要支持金融行业的时间序列处理需求。

    现在公司给你一份某商品各城市的销售数据:

    有179万行记录

    date 字段的精度到秒

    一行记录表示,某个城市某一个时间点卖出数量是多少

    如果工作中你需要围绕日期时间做数据处理(如各种时间维度的分析),那么一个很好的做法是把日期列加入到行索引:

    实例3:快速获得某年记录

    当 DataFrame 中的索引是日期类型时,我们可以快速提取大于索引精度的颗粒时间维度。

    '找出2018年的行':

    df.loc['2018'],直接使用 loc ,里面传入一个年份的字符串,即可获得所有2018年的记录

    你也可以直接使用 DataFrame 的索引获取方式,但我不建议你使用此方式

    有关行索引查找数据,课程开篇前3节已有详细讲解

    '给出2018年总销量':

    这是再容易不过的事情

    '给出2018年各城市的销量':

    没难度吧,我们继续!

    实例4:快速获得日期区间记录

    pandas 中的日期索引过滤,还能表示区间。

    '2016至2018年的销量':

    .loc['2016':'2018'] , 用切片表示区间,注意,loc 的切片是左右区间都是闭合,也就是说上面结果是包含2016年和2018年的

    展开全文
  • 有没有这样的程序,或者用Python代码也行。有一个e...把你录制的宏里面的工作表...Python怎样实现数据筛选之后不存成excel?1 读取Excel使用xlrd#1、导入扩展包importxlrd#2、打开Excel文件读取数据data=xlrd.open_w...

    有没有这样的程序,或者用Python代码也行。有一个e...

    把你录制的宏里面的工作表名称改成activesheet就可以了

    activesheet是表示当前工作表

    甚至可以一次搞定,用循环语句一次读取200多个工作表。

    Python怎样实现数据筛选之后不存成excel?

    1 读取Excel使用xlrd

    #1、导入扩展包

    import xlrd

    #2、打开Excel文件读取数据

    data = xlrd.open_workbook('excelFile.xls')

    2 操作e799bee5baa6e997aee7ad94e78988e69d8331333431336231mysql使用MySQLdb

    import MySQLdb

    # 打开数据库连接

    db = MySQLdb.connect("localhost", "testuser", "test123", "TESTDB", charset='utf8' )

    # 使用cursor()方法获取操作游标

    cursor = db.cursor()

    # 使用execute方法执行SQL语句

    cursor.execute("SELECT VERSION()")

    # 使用 fetchone() 方法获取一条数据

    data = cursor.fetchone()

    print "Database version : %s " % data

    # 关闭数据库连接d

    b.close()

    3 写入Excel使用xlwt

    import xlwt

    # 创建一个workbook 设置编码

    workbook = xlwt.Workbook(encoding = 'utf-8')

    # 创建一个worksheet

    worksheet = workbook.add_sheet('My Worksheet')

    # 写入excel

    # 参数对应 行, 列, 值

    worksheet.write(1,0, label = 'this is test')

    # 保存

    workbook.save('Excel_test.xls')

    python如何循环读取excel里面每个单元格的内容,我...

    #写个pywin32的,其他的也差不多

    #比如A,B列为要比较的数据各有20行

    for i in range(1,21):

    if xlSheet.Cells(i,1).Value==xlSheet.Cells(i,2).Value:

    pass

    else:

    xlSheet.Cells(i,3).Value='dismatch'

    怎么用python读取excel表格的数据

    差别如下:

    1、Python是一门编程语言,有很多用它写出来的工具,也有直接对excel操作的Python工具包。

    2、excel只是个表格处理工具,虽然里面也可以编程。

    3、简单来说excel能做到的Python都能做到,但是excel不能很强大的编程,不能进行丰富逻辑处理,复杂的运算分析

    如何使用python或者宏对excel中数据进行统计重复次数

    下面就详细的讲述整个实现过程。 1、在计算机上安装python(x,y)2.6.6版本。这一步是确保机器上的python开发环境,具体的安装过程在此就不在赘述,网上相关资料比较多 2、建议安装一个Notepad ,这样写代码比较方便

    展开全文
  • , # [False, False, False, False]]) arr[arr] # array([0, 1, 2, 3, 0, 0]) 练习4:多条件筛选 numpy读取本地数据 score_data = np.loadtxt("D:\scores.csv",delimiter=",",skiprows=1) 筛选出 成绩 大于60 并且 ...
  • 写在前面经过前面几天对Numpy和Pandas的学习,我感觉我变秃了,也变强了对于学习,我们都知道仅仅Input是没有任何效果的,在掌握了基础知识后,还需要Output这次我到国外的Grouplens网站找来一份百万电影数据,你可以点击...
  • DataFrame数据格式fillna方式实现groupby方式实现DataFrame数据格式以下是数据存储形式:fillna方式实现1、按照industryName1列,筛选出业绩2、筛选出相同行业的Series3、计算平均值mean,采用fillna函数填充4、...
  • 一、问题描述筛选出多个txt文件中需要的数据二、数据准备这是我自己建立的要处理的文件,里面是随意写的一些数字和字母三、程序编写import osdef eachFile(filepath):pathDir =os.listdir(filepath) #遍历文件夹中的...
  • 对dataframe中的数据进行筛选 首先,重新构建dataframe import pandas as pd d={'one':{'a':1,'b':2,'c':3,'d':4},'two':{'a':5,'b':6,'c':7,'d':8},'three':{'a':9,'b':10,'c':11,'d':12}} df=pd.DataFrame(d) ...
  • 在程序设计中,时常会遇到数据的唯一化、相同、相异信息的提取等工作,在格式化的向量存储矩阵中南,numpy能够提供比较不错的快速处理功能。1,唯一化的实现:In [63]: data = np.array(['int','float','int','...
  • Python筛选EXCEL数据

    2020-12-25 22:52:35
    Python筛选EXCEL数据Python筛选EXCEL数据 Python筛选EXCEL数据 我们在实际业务过程中,可能涉及到excel数据清洗的场景,本次代码处理的是客户个人基本信息的清洗操作,其中包含了身份证,性别,国籍,电话,职业,...
  • Python3中:(1)xrange的功能合并到range里面,xrange已经不存在 -> range和xrange用法(2)filter已经不能返回一个list,而是只能返回一个迭代对象,需要套在一个list()里面,且,需要注意的是,filter过滤后,对...
  • python筛选大量数据

    2021-03-09 09:40:05
    如何仅筛选出交叉口进口道的网约车数据?现有的数据包里有整个交叉口的数据数据格式类型如下,可带价私。 <p style="text-align:center"><img alt="" height="790" src=...
  • 新书速递吴老的java版《selenium webdriver 实战宝典》和python版...仔细观察发现,这些数据是有规律可循的,所以尝试使用自动化的方式解决数据筛选问题,从而提高测试效率。业务需求通过核对接口接收的数据条目数...
  • {"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户的数据库应用系统进行性能和风险评估,参与配合进行数据压测演练,...
  • python爬虫筛选工作实例讲解,文件名,爬虫,元素,经验,遍历python爬虫筛选工作实例讲解易采站长站,站长之家为您整理了python爬虫筛选工作实例讲解的相关内容。我们在选择一件商品的时候,会先了解一些相关的商品信息...
  • 两个文本文档进行数据比对筛选resultArr_B = [] #定义数组存储结果,后续向文件中输出resultArr_C = [] #定义数组存储结果,后续向文件中输出with open("C:\\Users\\admin\\Desktop\\B.txt", "r", encoding="UTF-8")...
  • 一.filter函数简介filter函数主要用来筛选数据,过滤掉不符合条件的元素,并返回一个迭代器对象,如果要转换为列表list或者元祖tuple,可以使用内置函数list() 或者内置函数tuple()来转换;filter函数接收两个参数,...
  • 一般情况下我们从一堆数据中选择...但是python中我们不需要这么做,我们可以用Pandas库帮我们解决这个问题:具体使用看实例:import numpy as npimport pandas as pdfrom time import timefrom IPython.display i...
  • python如何在列表、字典中筛选数据?实际问题有哪些?1.过滤掉列表[3,9,-1,10.-2......] 中负数2.筛选出字典{‘li_ming':90,'xiao_hong':60,'li_kang':95,'bei_men':98} 中值高于90的项3.筛选出集合{3,9,-1,10.-2...
  • 原标题:Python气象数据处理笔记:读取复杂文本数据筛选目标信息本期知识点1、 文本格式资料的读取、分列;2、 用正则表达式筛选出目标数据;3、 列表与DataFrame的追加与合并;4、 字符串的分割案例分析需求读取...
  • Python数据筛选

    2021-01-17 21:22:14
    <code class="language-python"> user_id name review_count yelping_since useful funny cool 0 ntlvfPzc8eglqvk92iDIAw Rafael 553 2007-07-06 03:27:11 628 225 227 1 FOBRPlBHa3WPHFB5qYDlVg Michelle ...
  • 使用python简单筛选数据 使用前需要自行安装python环境,将pyw文件和待筛选文件放在同一个文件夹目录下。 #!/usr/bin/python # -*- coding: UTF-8 -*- import time import re inFileName = "inFile.log"; ...

空空如也

空空如也

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

python筛选数据

python 订阅