栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

pandas数据分析小技巧

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

pandas数据分析小技巧

 

 最近工作经常需要用python做一些关于excel数据分析的事情。显然使用pandas是比Excel原生的vba更好的选择。因为pandas能提供诸如SQL的很多查找、过滤功能,性能要比用excel Vlookup之类的公式要快得多,给力的多!

技巧一:

        利用drop_duplicates方法去重,有的时候,我们根据几个字段对应的某行值同时相同时,判断这些行是重复的,仅保留第一行,可以这样写:                                                                             

result_df=result_df.drop_duplicates(['公司代码','供应商代码','供应商名称','本月计划支付金额'],keep='first') #去重

技巧二:

        善于使用lambda表达式,尤其是功能很简单的函数,没必要单独自定义,比如,对某个字段的每个值都乘以10000,或者对某字段元素的所有字符串加上前缀“0000”,可以这样写:                 

result_df["承兑汇票金额"]=result_df["承兑汇票金额"].apply(lambda x:x*10000)
result_df["供应商代码(必填)"]=result_df["供应商代码(必填)"].map(lambda x:"0000"+x if len(x)==6 else x) 
result_df["供应商代码"]=result_df["供应商代码"].map(lambda x:x[4:])  #去掉供应商代码的前0000

技巧三: 

         善于用dropna方法来过滤数据!该方法支持传入列表,对列表元素对应的每个字段同时使用dropna方法:                                      

df=df.dropna(subset=["供应商代码(必填)",'供应商名称(必填)','本月计划支付金额(必填)',"款项性质(必填)","付款条件(必填)"])

 技巧四:

        善于使用map、apply方法来遍历元素结合自定义函数,比如小爬要处理的字段:先要判断该字段对应的元素是否为数字,要过滤掉那些不是数字的行,就可以先定义函数,然后用apply或者map来调用它:                                                                                                                                   

def isNumber(x):
    if isinstance(x,float) or isinstance(x,int):
        return 1
    if isinstance(x,str):
        return 0
df["本月计划支付金额为数字"]=df["本月计划支付金额(必填)"].map(isNumber) #产生辅助字段
df=df[df["本月计划支付金额为数字"]==1]
df=df[df['本月计划支付金额(必填)']>0]

  技巧五:

        判断某个字段的值是否在某个列表,常用.isin(list)方法,比如:                                                    

error_df=original_df[original_df["供应商代码(必填)"].isin(common_supplier_list_final)]  #common_supplier_list_final为列表对象

  如果我们希望取反,找不符合某个列表元素的那些数据集合,就要用到“~”,上面的语句可以改写为:

error_df=original_df[~original_df["供应商代码(必填)"].isin(common_supplier_list_final)] #对正常那部分行项目抛开,取反,关键符号~

以上就是小编的分享的小技巧了, 在我们实际的数据分析中,用户提供的数据源有很多脏数据,空数据,要用到数据清洗,这就需要用到pandas的很多小方法小技巧,愿大家平时多多积累,才能慢慢掌握,逐渐为自己所用。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/580951.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号