python骨灰技巧_Pandas技巧,某骨灰级Pythoner经验总结,呕心沥血!

原标题:Pandas技巧,某骨灰级Pythoner经验总结,呕心沥血!

Python已迅速发展为数据科学家必备的编程语言。

python作为一种编程语言提供了更加优秀、宽阔的生体系统与深度的科学计算库。

在科学计算库中,Pandas对数据科学最为有效。Pandas、Scikit-learn几乎供给了数据科学家所有工具。本文旨在分享Python中数据处理的方法。别的,还会分享一些让你工作可以变得更便捷的技巧。

在学习前,提醒一下,如果你有过阅读Python数据挖掘(data exploration)的代码。有利于大家更好的理解文章内容。为了更好地理解,我使用了一个数据集来执行这些数据操作和处理。

数据集:我使用了贷款预测(Loan Prediction)问题的数据集。请先下载数据集,然后就可以开始了。

第一步

导入模块、加载数据集、搭建Python环境:

布尔索引

假如说,想由另一列的条件来筛选某一列的值,我们要怎么做?比如,我们想获取一份完整的没有毕业并获得贷款的女性名单。能够利用布尔索引实现。

Python代码:

Apply函数

Apply是一个我们经常会使用到的函数,作用是创建新变量、处理数据。当我们在利用某些函数传递一个数据帧的每一行或列的时候,Apply函数会返回相应的值。不管这个函数是系统自带的,还是用户定义的。

例如,它可以作用于找到任一列、行的缺失值。

利用这个,得到了我们想要的结果。

注:因为结果中包含很多行,所以第二个输出中使用了head()函数。

填补缺失值

‘fillna()’只要一次就能够解决:以整列的平均数、众数、中位数来替换缺失值。基于其各自的众数填补出“性别”、“婚姻”、“自由职业”列的缺失值。

第一步:导入函数来判断众数

成效前往众数和其出现频次。请注意,众数可所以一个数组,由于高频的值可能有多个。我们通常默认使用第一个:

结果返回众数与它出现的频率。众数也可以是一个数组,因为高频的值存在有多个的可能性。那么我们通常默认使用第一个:

now,我们可以填补缺失值并用Apply函数里提到的方法来检验,填补缺失值并再次检查缺失值,是否已经确认。

透视表

Pandas能够用来创建MS Excel风格的透视表。比如说,在本例中一个关键列是“贷款数额”有缺失值,能够根据“性别”,“婚姻状况”和“自由职业”分组后的平均金额来进行替换。 那么“贷款数额”的各组均值怎么确定呢?

多索引

如果你看到了“填补缺失值”的输出结果,它有一个特殊的特征。每一个索引都是由3个值组合构成的。这个就是多索引。可以帮我们快速执交运算。

从“填补缺失值”的例子中开始,我们有每个组的均值,但还没有被填补。

这可以使用到如今为止学习到的各类技巧来处理,只在缺失贷款值的行中来迭代并再次检验确认。

关键:

1. 多索引必须在loc里讲明的定义分组的索引元组。此元组能够在函数中利用到。

2. values[0]这个后缀是必须的,默认情况下元素返回的索引和原数据框的索引不匹配,直接赋值会报错。

交叉表

这个函数作用于获取数据的一个第一“感受”(视图)。在这里,可以验证一些基本设想。比如说,在这个例子中,“信用记录”被认为是最明显影响贷款状况。这可以使用交叉表验证,如下图所示:

这些数据都是取的绝对值,用百分比更直观。可以利用apply 函数实现:

说到了Pandas的不同函数,一些能够让我们在探索Python数据和功能设计上更加舒适的函数。而且,我们定义了一些通用函数,可以循环利用,在不同的数据集上达到差不多的结果。

喜欢的话关注收藏评论转发比心么么哒!Python学习交流企-鹅-裙-588+090+942,裙内有大量的项目开发和新手教学视频PDF书籍的千人大群等着你来加入返回搜狐,查看更多

责任编辑:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501863.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java课外兴趣小组管理系统_课外兴趣小组活动方案

课外活动在一定程度上可以开发孩子们的兴趣和天赋,下面是学习啦小编为你整理的课外兴趣小组活动方案,希望对你有用!课外兴趣小组活动方案1一、指导思想:为致力学校内涵式发展,全面推进素质教育,促进学生的全面发展和健…

软件项目周报_有关细节、效率、周报和扯淡

1、有关细节聊聊工作中的细节。有两个视角,「下属」和「上级」。大部分人同时有这两个角色,但屁股转变就有不同看法。对于下属来说,细节是自己的事,上级管得多会很让人烦,而且觉得这个上级很无能,只会盯着细…

java修改配置文件参数_在java类中获取在.properties配置文件中设置的参数

如何获取.properties配置文件中的参数,我在网上查了半天没弄明白,后来在以前的项目中找到了,就写下来,避免遗忘。1.配置文件:message_product.propertiestotal_product2service11,新股发行短信提醒服务,发行的详细信息…

ps发光插件_PS插件自定义区域发光真实辉光插件 Oniric Glow Generator for Photoshop【资源分享1444】...

AE特效PR剪辑C4D影视后期全世界只有不到1%的人关注了你是个很特别的人AE影视后期定期推送「AEPRC4D 影视特效合成 婚庆剪辑调色 电视广告包装 微电影制作 SpeedGrade达芬奇专业调色 摄影等」打造影视后期高端学习平台影视后期 ID:AEPRC4D9【PS插件信息】非常棒的一款…

java按时间范围过滤_在Java中,如何仅选择或过滤在特定时间段内创建的文件

谢谢Ben, Nicolas-R, Basil-Bourque。通过所有输入(使用listFiles,更改过滤器逻辑和使用joda),这就是我最终制作的&像魅力的工作:File directory new File(fileLoc);FileFilter filter new FileFilter() {public…

python 退出_如果读完这篇文章不能让你入门Python,那我将永久退出编程界

(PS:文末福利赠送 无套路,真实有效!)Python是一种动态解释型的编程语言。Python可以在Windows、UNIX、MAC等多种操作系统上使用,也可以在Java、.NET开发平台上使用。【特点】1 Python使用C语言开发,但是Python不再有C语言中的指针…

java 求最长重复子串_给定一个字符串,求出其最长的重复子串。

#include #include #include #include using namespace std;//给定一个字符串,求出其最长的重复子串//方法一string lsubstr_1(const string & str){vector vs;for (int i 0; i < str.size(); i)vs.push_back(str.substr(i));sort(vs.begin(), vs.end());int max 0;in…

unity 检测文本有没有自动换行_python3从零学习-5.1.5、文本自动换行与填充模块textwrap...

TextWrapper 模块提供了一些快捷函数&#xff0c;以及可以完成所有工作的类 TextWrapper 如果你只是要对一两个文本字符串进行自动换行或填充&#xff0c;快捷函数应该就够用了&#xff1b;否则的话&#xff0c;你应该使用 TextWrapper 的实例来提高效率。…

java英文版怎么汉化_请问,java中,将下面的英文名字变为中文 该怎样输出?

如题&#xff0c;下面是代码——————————————————————————————importjava.io.*;publicclassRandomFileDemo{publicstaticvoidmain(String[]args)throwsException{Em...如题&#xff0c;下面是代码————————————————————————…

python建立多台电脑共用的_用virtualenv建立多个Python独立虚拟开发环境

用virtualenv创建虚拟环境&#xff0c;是通过复制全局的python解释器&#xff0c;达到环境的互不影响&#xff1b;新建的虚拟环境会自动复制python解释器环境保存到当前路径之下&#xff1b;3、virtualenv虚拟环境&#xff1a;activate #进入虚拟环境进入虚拟环境&#xff1a;d…

java引入bean代码_通过java代码装配bean

importorg.springframework.beans.factory.annotation.Qualifier;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Configuration;/** Spring 的组件扫描默认是不启用的&#xff0c;需要显式配置启用组件扫描去寻找被 Compon…

红黑树和平衡二叉树的区别_一文搞懂红黑树

文章参考 | https://segmentfault.com/a/1190000012728513前言当在10亿数据进行不到30次比较就能查找到目标时&#xff0c;不禁感叹编程之魅力&#xff01;二叉树在了解红黑树之前&#xff0c;先要了解二叉树&#xff0c;又叫二叉查找树、二叉搜索树、二叉排序树。二叉树顾名思…

mysql table keys_MySQL Explain详解

在日常工作中&#xff0c;我们会有时会开慢查询去记录一些执行时间比较久的SQL语句&#xff0c;找出这些SQL语句并不意味着完事了&#xff0c;些时我们常常用到explain这个命令来查看一个这些SQL语句的执行计划&#xff0c;查看该SQL语句有没有使用上了索引&#xff0c;有没有做…

程序员肚子越来越大_肚子越来越大,除了肥胖还可能是疾病信号!腰间搓一搓,排出痰浊,消脂防病~...

☀ 定期推送健康知识&#xff0c;生活窍门&#xff0c;演出资讯&#xff0c;旅游信息&#xff0c;商家优惠等诸多优质内容&#xff0c;接地气、重服务的微信平台&#xff01;关注我们妥妥没错&#xff01;今天我们所说的“要命的肚子”就是一种肥胖&#xff0c;众所周知导致肥胖…

java语言特点解释类_Java语言特点

Java语言特点引导语&#xff1a;Java是一种可以撰写跨平台应用程序的面向对象的程序设计语言。那么你知道Java语言的特点吗&#xff0c;以下是百分网小编分享给大家的Java语言特点&#xff0c;欢迎阅读!Java语言的特点1. 简单、面向对象和为人所熟悉java的简单首先体现在精简的…

python内置方法怎么使用_python的常用内置方法

__author__ cocopython内置函数# all() 全为真&#xff0c;才为真print(all([0,-2,3])) # Falseprint(all([1,-2,3])) # True# any() 任意为真&#xff0c;则为真print(any([1,-6,3])) # Trueprint(any([0,,1])) # True# bin() 十进制转二进制print(bin(8)) #0b1000# bool() 判…

高级java技术web组件_(重温)JavaWeb--Servlet技术(二)(JavaWeb 的三大组件之一)...

1.HttpServletRequest 类a)HttpServletRequest 类有什么作用。每次只要有请求进入 Tomcat 服务器&#xff0c;Tomcat 服务器就会把请求过来的 HTTP 协议信息解析好封装到 Request 对象中。 然后传递到 service 方法(doGet 和 doPost)中给我们使用。我们可以通过 HttpServletReq…

python实现线性回归预测不用sklearn库_python – 为什么我的自定义线性回归模型不匹配sklearn?...

我正在尝试用Python创建一个简单的线性模型,不使用库(numpy除外).这就是我所拥有的import numpy as npimport pandasnp.random.seed(1)alpha 0.1def h(x,w):return np.dot(w.T,x)def cost(X,W,Y):totalCost 0for i in range(47):diff h(X[i],W) - Y[i]squared diff * difft…

svm算法原理_机器学习——分类算法(1)

一、 K近邻KNN算法的基本思想就是在训练集中数据和标签已知的情况下&#xff0c;输入测试数据&#xff0c;将测试数据的特征与训练集中对应的特征进行相互比较&#xff0c;找到训练集中与之最为相似的前K个数据&#xff0c;则该测试数据对应的类别就是K个数据中出现次数最多的那…

svn复制出来的java_从svn下载的项目(或从别处拷贝来的)报错的可能情况以及解决经验...

1、sdk版本不符合。举个栗子&#xff1a;如果svn上的项目是用sdk10的&#xff0c;但是你电脑上最低sdk是14的&#xff0c;那么这时候就会报错。解决办法&#xff1a;a、鼠标点击项目&#xff0c;b、快捷键“altenter”&#xff0c;c、左侧点击“Android”&#xff0c;右侧选中一…