Python之pandas的简单使用

30 篇文章 0 订阅
27 篇文章 0 订阅

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

前天在给用户通过SQL操作数据时,由于数据过多超过10万以上的数据,在DB直接弄出来挺费劲,发现Python里这pandas工具做数据还是挺管用的,几十万的数据Python轻松搞定,学习了下pandas使用


提示:以下是本篇文章正文内容,下面案例可供参考

一、pandas是什么?

示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。Pandas 纳入了大量库和一些标准的数据模型,提供了高效地操作大型数据集所需的工具。pandas提供了大量能使我们快速便捷地处理数据的函数和方法。

二、使用步骤

1.开发工具

操作系统:Windows 10
开发软件:spyder 3
Python版本:3.6

2.详细代码

代码如下(示例):

# -*- coding: utf-8 -*-

import datetime
import numpy as np
import sqlalchemy
import pandas as pd

#db_engine = sqlalchemy.create_engine('oracle+cx_oracle://mesai:ai#525@WBOEE_UAT',echo=True) # oracle
db_engine = sqlalchemy.create_engine('oracle+cx_oracle://mesai:ai#525@wboee.world',echo=True) 


try:
    # SQL 查询语句
   
    sql = "SELECT * FROM  PDD_ACTIVE_DEVICE WHERE ACT_FLAG='Y' AND DEVICE_TYPE='PRD' AND STATUS='Released' AND IDENTIFY_STATE='Active' AND create_time>'20201230000000'"
    df_ai_pdd = pd.read_sql_query(sql, db_engine)
    
    sql = "SELECT * FROM mesai.pdd_active_wirebond"
    df_ai_wirebond = pd.read_sql_query(sql, db_engine)
  
    df_ai = pd.merge(df_ai_pdd,df_ai_wirebond,left_on='sysid', right_on='deviceid',how='left')
    
    col_name=df_ai.columns.tolist() 
    
    col_name.insert(1,"sub_con")
    df_ai=df_ai.reindex(columns=col_name) 
    df_ai['sub_con']=""
    
    df_ai["tpn"]=""
   
    df_ai["bonding"] = np.select([df_ai['cust_code'] == "GDS",
                    df_ai['cust_code'] == "SLW"],
                    [df_ai['s_scc_dwg_no'], df_ai['s_scc_dwg_no']+df_ai['s_scc_dwg_rev']],
                    default = 'XXX')
    df_ai["wiretype"]=""
   
    df_ai["wiretype"] = np.where(df_ai["wire_type"].isnull(),"", df_ai["wire_type"])
   
    df_ai["wiretype"] =  np.select([df_ai['wiretype'] == "AG WIRE",df_ai['wiretype'] == "GOLD WIRE",
                    df_ai['wiretype'] == "COPPER WIRE"],
                    ["A","G","C"],
                    default = '')
    
    df_ai["pin1方向"]="对缺角"
    
    df_ai["pin1"]=""
    df_ai["pin1"]=np.where(df_ai["cust_code"]=="SLW","NA", "")
    df_ai["str"]=""
    df_ai["m_q"]=""
    
    data = df_ai[(df_ai["cust_code"].isin(['GDS','SLW']))]
    
  
    
    data_01 = data[data["cust_code"]=="GDS"]
    data_01 = data_01[['sub_con','s_cust_device_desc','cust_device','cust_code','s_scc_dwg_no', 's_scc_dwg_rev','s_marking_spec','tpn','bonding','pin1方向','wiretype','pin1','str','m_q']].rename(columns={'s_cust_device_desc':'cpn','cust_device':'ipn','s_marking_spec':'marking'})
    #CUST_DEVICE NOT LIKE 'G%'
    data_02 = data[(data["cust_code"]=="SLW")&(~df_ai_pdd["cust_device"].str.startswith("G"))]
    data_02 = data_02[['sub_con','s_cust_device_desc','cust_device','cust_code','s_scc_dwg_no', 's_scc_dwg_rev','s_marking_spec','tpn','bonding','pin1方向','wiretype','pin1','str','m_q']].rename(columns={'s_cust_device_desc':'cpn','cust_device':'ipn','s_marking_spec':'marking'})
    
    data_new = pd.concat([data_01,data_02]) 
    
    print(data_new.head(50))
    
    print(data_new.shape)
    
    data_new.to_excel("E:\\WebFiles\\{0}.xlsx".format(datetime.datetime.now().strftime('%Y%m%d%H%M%S')),index=False)
    print("执行成功!!")
except Exception as e:
    print('exception!!!' + e)
finally:
    #db_conn.close()
    db_engine.dispose()

在这里插入图片描述


总结

记录点点滴滴

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: PandasPython编程语言的一个开源数据分析和数据处理库。它提供了丰富的数据结构和功能,使得数据分析任务更加简单和高效。而Xmind是一种思维导图工具,可以帮助用户组织和展示复杂概念和信息。 Pandas库结合了NumPy的功能和扩展了更高级的数据结构,最重要的是它的数据结构--Dataframe。Dataframe是一个二维的表格型数据结构,类似于数据库表或Excel中的表格。它提供了各种方法来处理和操纵这些表格数据,包括数据的索引、选择、过滤、排序、分组等。 使用Pandas库可以读取和写入多种数据格式,如CSV、Excel、SQL数据库等。通过Pandas的数据结构,用户可以进行数据清洗和转换,处理缺失数据、重复数据、异常数据等。此外,Pandas还提供了强大的时间序列处理功能,可以进行时间索引、频率转换、滞后、移动窗口等操作。 在数据分析方面,Pandas提供了各种统计计算的方法,如平均值、标准差、协方差、相关系数等。同时,Pandas库还能够进行数据可视化,通过绘图的方式展示数据的分布、趋势和关联关系。这使得数据分析师可以更加直观地理解和解释数据。 Xmind是一种用于创建思维导图的工具,它可以将复杂的概念和信息以图形化的方式展示出来。思维导图可以帮助用户整理和梳理思路,帮助用户更好地理解和记忆知识。在使用Pandas进行数据分析时,可以使用Xmind来记录和整理自己的数据分析过程,包括数据处理的步骤、分析的结果和相关的观察或发现。这样可以帮助用户更好地管理和沟通数据分析的过程和结果。 总结来说,Pandas是一个功能强大的数据分析和处理库,通过其丰富的数据结构和方法,可以简化和高效完成各种数据分析任务。而Xmind则是一种思维导图工具,能够帮助用户整理和展示复杂概念和信息,方便用户将数据分析过程和结果进行可视化和整理。使用Pandas和Xmind可以让数据分析任务更加简单和直观。 ### 回答2: Pandas是一个开源的Python数据分析库,它提供了丰富的数据结构和数据分析工具,使得数据处理更加简单、高效。而Pandas库中的核心数据结构是DataFrame,可以理解为一个二维的表格数据,类似于Excel中的数据表。Xmind是一款思维导图软件,可以帮助我们更好地组织和展示思维。 Pandas可以通过Xmind来进行详解,主要包括以下几个方面: 1. DataFrame的创建和基本操作:可以通过读取文件、字典、Numpy数组等方式来创建DataFrame,然后可以进行数据的选取、切片、筛选等操作。 2. 数据的清洗和处理:Pandas提供了强大的数据清洗和处理功能,可以用来处理缺失数据、重复数据以及异常值。也可以进行数据的合并、拆分、排序等操作,以及字符串、时间序列、数值等类型的转换。 3. 数据的分组和聚合:Pandas的分组和聚合功能非常强大,可以进行按列或者按行的分组操作,然后对每一组数据进行一些聚合操作,如求和、计数、平均值等。这样可以更好地了解数据的分布和概况。 4. 数据的可视化:Pandas可以配合Matplotlib等数据可视化工具,对数据进行绘图和可视化操作。可以绘制线图、柱状图、饼图等各种图表,更直观地展示数据的特征和趋势。 综上所述,使用Pandas库可以更方便地进行数据分析和处理,而通过Xmind来详细说明Pandas的各种功能和操作,能够更好地帮助用户理解和应用这些功能,从而更高效地进行数据分析和处理。 ### 回答3: Pandas是一个Python库,专门用于数据分析和数据操作。它提供了高效的数据结构和数据分析工具,使得使用Python进行数据处理变得更加方便和快速。而Xmind是一款脑图软件,用于整理和组织复杂的思维结构。 Pandas提供的数据结构主要包括两种:Series和DataFrame。Series是一维的带有标签的数组,类似于传统的数组或列表。每个元素都有唯一的标签,可以通过标签进行索引取值,方便进行数据查找和操作。DataFrame则是二维的表格型数据结构,类似于关系型数据库中的表。它由多个Series组成,每个Series代表一列数据。DataFrame可以进行行列索引、数据选择和过滤,方便进行数据的清洗和分析。 Pandas提供了丰富的数据操作和分析工具。可以进行数据的读取、清洗、转换和处理。可以对数据进行切片、聚合、排序和合并等操作。还可以对数据进行统计分析、绘图和可视化。Pandas还支持对缺失数据的处理,能够灵活处理数据中的空值,并进行填充或删除操作。 Xmind是一款强大的思维导图软件,可以帮助用户将复杂的信息整理、组织和展示。用户可以使用Xmind创建思维导图来表示数据结构、函数关系、工作流程等。通过将Python中的Pandas库和Xmind结合使用,可以更好地理解和展示数据分析的过程。可以使用脑图绘制数据处理流程图,方便团队内部的交流和理解。同时,可以使用脑图来整理数据分析中的关键知识点和技巧,方便进行知识传递和分享。 综上所述,PythonPandas库提供了便捷的数据处理和分析工具,而Xmind则可以辅助整理和展示数据分析的过程和结果。两者结合使用,可以帮助用户更好地进行数据分析和可视化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

panda_225400

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值