python数据处理和数据清洗的示例详解python

python里面是通过模块体现库的,可以降低程序员的使用成本,提高程序的开发效率;

标准库:官方提供的;

第三方库:其他的大佬做出来的(数量庞大);

importpandasaspddf=pd.read_csv("/Users/feifei/hotpot.csv")#计算性价比评分,通过赋值,将结果添加为df的"性价比评分"列df["性价比评分"]=(df["口味评分"]/df["人均消费"])*40#计算氛围评分,通过赋值,将结果添加为df的"氛围评分"列df["氛围评分"]=(df["服务评分"]+df["环境评分"])/2#使用print()输出dfprint(df)什么叫做添加新列,就是我们在数学建模对于数据集合进行处理的时候,对于海量的数据,我们可能会根据这个已知的数据添加新的变量之类的,这个新的变量就是我们通过已知的数据得到的新的数据变量;

在上面这个案例里面,我们通过一个店铺的口味评分和人均消费凝练出来一个性价比评分作为新的数据变量,根据这个店铺的服务评分和环境评分凝练出来这个氛围的评分作为新的数据变量,最后这两个新的变量就会作为新的表头显示在我们原来的数据表格里面去;

我们想要对于这个处理结果的小数的位数进行控制,我们可以使用一个函数:

因为这个里面是进行的多列索引,这个时候我们使用了这个索引的嵌套,round(2)表示对于所选择的数据进行保留两位小数的处理,并且更新原来的数据;

importpandasaspddf=pd.read_csv("/Users/feifei/hotpot.csv")#计算性价比评分,通过赋值,将结果添加为df的"性价比评分"列df["性价比评分"]=(df["口味评分"]/df["人均消费"])*40#计算氛围评分,通过赋值,将结果添加为df的"氛围评分"列df["氛围评分"]=(df["服务评分"]+df["环境评分"])/2#TODO使用round()函数对2个新列保留2位小数df[["性价比评分","氛围评分"]]=df[["性价比评分","氛围评分"]].round(2)#使用print()输出dfprint(df)

我们上面综合得到了这个性价比评分和氛围评分,我们想要根据这两个指标进行这个店铺的排名

sort_values就是一个函数的调用,by=""表示的是对于某一列的内容进行处理,ascending=False表示的就是以降序的形式进行排序,如果我们没有写这个参数或者是等于true,都是以升序的形式进行排序;

#使用sort_values()对df的"性价比评分"列进行降序排序,并赋值给df_1df_1=df.sort_values(by="性价比评分",ascending=False)#使用sort_values()对df的"氛围评分"列进行降序排序,并赋值给df_2df_2=df.sort_values(by="氛围评分",ascending=False)#使用print()输出df_1print(df_1)#使用print()输出df_2print(df_2)

我们的排序也完成了,接下来的就是只保留这个店铺的名称和性价比,并且打印显示出来前面的10名店铺作为我们的最佳选择;

head函数就会筛选出来前面的10个店铺打印出来,df_atmospyere这个里面存储的就是我们想要的两列的数据集合;

#TODO使用sort_values()对df的列"氛围评分"进行降序排序,并赋值给df_2df_2=df.sort_values(by="氛围评分",ascending=False)#TODO使用多列索引的方式,访问df_2的"店铺名称"和"氛围评分"2列,并赋值给df_atmospheredf_atmosphere=df_2[["店铺名称","氛围评分"]]#TODO使用print()输出df_atmosphere的前10行print(df_atmosphere.head(10))

脏数据包括异常值,缺失值和重复值,把脏数据筛选出来,进行修正,填补的工作的过程,就是数据的清洗;

我们想要去处理这些脏的数据,就要首先导入这个pandas模块,进行文件的读取,然后进行这个数据集的格式转换,把这个里面的数据类型,单位进行修改;

下面的这个是一个平台的会员开通情况数据集合:

下面我们使用这个info函数快速地浏览全部数据,确定每一列的数据的缺失情况,这个函数相当于print打印功能,显示出来存在的数据个数,通过这个打印结果,我们就可以发现,其他列的数据全部是78049,而这个platform这一列却是77645,这个时候我们就可以知道那些列缺失了多少的数据,因为大部分的数据都是完整的,只需要找出与众不同的数字;

我们上面已经确定这个数据是存在缺失的情况的,但是我们应该如何找到缺失数据的具体的位置呢

我们可以使用insull函数:找到一列里面每一行的数据是否缺失;

数据缺失了怎么办,直接删除还是补全,针对于这个数据的多少和数据的重要程度,我们需要分情况进行处理;

如果是对于我们的研究很重要的数据,我们删除显然是不合适的;

但是如果一个数据集合有几十万的数据,我们删除几百个也是无伤大雅的:drop函数;

如果缺失值的数量较多,并且缺失值所在的这一列(这一个属性),并不是我们分析的重点时,可以对缺失值进行补全:fillna函数;

我们首先筛选出来这个缺失值所在的行标,存储到dfPayNull这个series里面;

接下来使用drop函数进行数据的删除(删除行),参数就是我们得到的这个dfpaynull的index索引

#使用布尔索引和isnull函数,将payment_provider这一列的缺失值筛选出,赋值给变量dfPayNull#dfPayNull就是,包含所有payment_provider这一列缺失值的行dfPayNull=df[df['payment_provider'].isnull()]#TODO使用drop函数,将dfPayNull,也就是包含所有payment_provider这一列缺失值的行删除df.drop(index=dfPayNull.index,inplace=True)#使用df.info(),快速浏览数据集df.info()

#TODO使用fillna()函数,用"unknown"填充platform的缺失值df['platform'].fillna("unknown",inplace=True)#输出df.info()df.info()

首先是一些比较明显的异常值:例如这个id肯定不可能是负数,这个时候对于id<0这个判断条件对于异常值进行删选。但是更多的是下面的情况:

这个时候我们需要使用一个函数进行处理:isin()函数

我们使用这个函数筛选出来不是某些数据的索引,我们使用这个函数,异常数据返回的是false,这个时候我们使用取反运算符,当这个返回false就是我们认定的异常值;

pandas的duplicated()函数专门对重复值进行处理。

duplicated()函数,判断重复的机制,是会把出现相同值的第二个及以后的数据,判断为True

THE END
1.python数据清洗案例keyerror:'sepallengthpython数据清洗案例 获取数据: 检查缺失值 首先第一步,我们先检查一下数据集中是否存在空值,可以用pandas中的isnull、nonull、info方法来检查,我们都来试一遍 data.isnull() 1 可以看到,因为数据太多,没有办法全部找出来,这个时候可以用到sum方法来进行统计每一列有多少个缺失值https://blog.csdn.net/weixin_44941795/article/details/100836001
2.独家为数据分析而清洗数据——Python的21个案例和代码(下)本文介绍了为数据分析而准备的数据清洗的另外11个Python案例及代码。数据清洗是识别和纠正错误以及数据集不一致性的过程,以便于数据可以进行分析。在此过程中,数据专家可以更清楚地了解他们的业务中正在发生的事情,提供任何用户都可以利用的可靠分https://mp.weixin.qq.com/s?__biz=MzI1MjQ2OTQ3Ng==&mid=2247635700&idx=1&sn=c882563ba5a67b47e357af3d16bd1391&chksm=e8117d3d3879282281cabd67a5e3d93be0250a7862942d19801d29b5983732c5b1f81c939238&scene=27
3.数据清洗案例分析袋鼠社区数据清洗案例分析 - 在大数据时代,数据已经成为企业的重要资产。然而,原始数据往往存在许多问题,如缺失值、异常值、重复值等,这些问题会影响数据分析的准确性和可靠性。因此,数据清洗成为了数据处理过程中不可或缺的一步。本文将通过一个实际的数据清洗案例,详细介绍https://www.dtstack.com/bbs/article/12691
4.数据清洗案例数据清洗案例: 1、导入各种包 2、将表格导入系统:这里使用了将一个表格的多个sheet同时导入 # 将一张表里的3个sheet都导入系统 table=[pd.read_excel("/Volumes/台电酷闪/数据分析/python学习/202010Python数据清理/meal_order_detail.xlsx",sheet_name=i) for i in range(0,3)] https://www.jianshu.com/p/84d02414b04e
5.求数据清洗的案例分析资料本人第一次做数据清洗,虽然之前有学过一些数据清洗的方法,但是仍然对手头噪音很大,数量很多的数据感觉到无从下手。现征求各位高手看过的好的关于数据清洗的案例书或其他资料,或者关于如何对大量原始数据一步步分析建模的,要求讲的越具体越好。 谢谢大家帮忙! https://bbs.pinggu.org/jg/huiji_huijiku_3640882_1.html
6.MapReduce综合应用案例—招聘数据清洗MapReduce是Hadoop的核心功能之一,掌握它对学习Hadoop至关重要。 Hadoop Map/Reduce是一个使用简易的软件框架,基于它写出来的应用程序能够运行在由上千个商用机器组成的大型集群上,并以一种可靠容错的方式并行处理上T级别的数据集。 任务关卡 第1关数据清洗 https://hnjdzy.educoder.net/shixuns/2lvmz89x/challenges
7.数据分享基于PythonHadoop零售交易数据的Spark数据处理与E案例数据集是在线零售业务的交易数据,采用Python为编程语言,采用Hadoop存储数据,采用Spark对数据进行处理分析,并使用Echarts做数据可视化。由于案例公司商业模式类似新零售,或者说有向此方向发展利好的趋势,所以本次基于利于公司经营与发展的方向进行数据分析。 https://developer.aliyun.com/article/1493639
8.书单想学PowerBI吗?来看看这些书吧!本书是Power BI 快速入门工具书,笔者将Power BI 的知识点做了系统整理,并以案例的方式呈现出来,使读者学习起来更轻松。全书共7 章,包括Power BI Desktop 初体验、数据清洗的革命、数据统计和呈现、建立表关联、交互式分析、使用DAX 函数、数据可视化等,其中重点介绍了Power BI 在数据清洗和数据可视化方面的应用。 http://www.broadview.com.cn/article/419989
9::侯晓焱邢永杰:我国证人证言排除的刑事司法实务观察1.数据清洗的考量因素 数据整理中误入的不属于当事人申请排除非法证据的数据主要包含几种情况: 一是文书记载了法院告知被告人享有申请回避、非法证据排除等权利,文书故此被命中,但案件本身不涉及非法证据问题的争议。二是文书在评析某项具体证据时,主动宣布该项证据中不存在非法证据排除的情形。三是二审裁判文书中记载http://iolaw.cssn.cn/fxyjdt/201907/t20190722_4936908.shtml
10.聊聊如何清理数据案例和步骤数据清理包括发现和解决潜在的数据不一致或错误以提高数据质量。错误是任何不反映所测量的真实值(例如,实际重量)的值(例如,记录的重量)。在此过程中,审查、分析、检测、修改或删除“脏”数据以使数据集“干净”。数据清理也称为数据清洗。一 为什么数据清理很重要在定量研究中,收集数据并使用统计分析来回答研究问题。http://www.360doc.com/content/23/0301/09/78237952_1069924279.shtml
11.大数据应用导论Chapter02大数据的采集与清洗2、Python清洗案例 # 载入必要库 # numpy是一个数值计算库,能够快速的进行矩阵计算 importnumpyasnp # pandas基于numpy的一种数据分析工具,能够快速的进行数据分析、可视化 importpandasaspd # matplotlib是一个2D绘图库,能够跨平台的快速绘制图表 importmatplotlib.pyplotasplt https://blog.51cto.com/14683590/5236225