作者 | RAM DEWANI

编译 | VK

来源 | Analytics Vidhya

概述

  • Pandas提供了许多技术,使Python中的数据分析更容易

  • 我们将讨论一些技巧,帮助你成为一个更好、更高效的分析师

介绍

效率已成为及时完成工作的关键因素。一个人不应该花超过合理的时间去完成事情。尤其是当任务涉及基本编码时。使用Pandas库能节省你的时间。

Pandas是一个开源包。它有助于用Python语言执行数据分析和数据操作。此外,它还为我们提供了灵活的数据结构。

目录

  • Pandas技巧1–行的条件选择

  • Pandas技巧2–数据的存储

  • Pandas技巧3–分组数据

  • Pandas技巧4–Pandas map

  • Pandas技巧5–Pandas DataFrame的条件格式化

Pandas技巧1–行的条件选择

首先,数据探索是必要步骤。Pandas为进行各种分析提供了一种快速简便的方法。其中一个非常重要的技巧是根据条件选择行或过滤数据。

行的条件选择可以基于由逻辑运算符分隔的单个语句中的单个条件或多个条件。

例如,我使用一个关于贷款预测的数据集。

我们将挑选一排还没有毕业、收入低于5400英镑的客户。让我们看看我们该怎么做。

视频:https://youtu.be/hc4or_RF5M8

import pandas as pd
data = pd.read_csv('../Data/loan_train.csv')
data.head()
data2 = data.loc[(data['Education'] == 'Not Graduate') & (data['ApplicantIncome'] <= 5400)]
data2

注意:记住把每个条件放在括号内。

Pandas技巧2–数据的存储

数据可以有两种类型-连续的和离散的,这取决于我们的分析要求。有时我们不需要连续变量中的精确值,但需要它所属的群体。

例如,你的数据中有一个连续变量,年龄。但你需要一个年龄组来进行分析,比如儿童、青少年、成人、老年人。实际上,Binning非常适合解决我们这里的问题。

为了执行Binning,我们使用cut()函数。这对于从连续变量到离散变量非常有用。

视频:https://youtu.be/WQagYXIFjns

import pandas as pddf = pd.read_csv('titanic.csv')
from sklearn.utils import shuffle# 随机化
df = shuffle(df, random_state = 42)df.head()bins = [0,4,17,65,99]
labels =['Toddler','Child','Adult','Elderly']category = pd.cut(df['Age'], bins = bins, labels = labels)df.insert(2, 'Age Group', category)df.head()df['Age Group'].value_counts()df.isnull().sum()

代码:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/binning_data.ipynb

Pandas技巧3–分组数据

这种操作在数据科学家和分析师的日常生活中经常执行。Pandas提供了一个基本的函数来执行数据分组,即Groupby。

Groupby操作包括根据特定条件拆分对象,应用函数,然后组合结果。

让我们再看一次贷款预测数据集,假设我想看看给来自不同财产领域的人的平均贷款额,比如农村、半城市和城市。花点时间来理解这个问题陈述并思考如何解决它。

嗯,Pandas的groupby可以非常有效地解决这个问题。首先根据属性区域划分数据。其次,我们将mean()函数应用于每个类别。最后,我们将它们组合在一起,并将其打印为新的数据帧。

视频:https://youtu.be/fK-6ZlPvZYU

#导入数据集
import pandas as pddf = pd.read_csv('../Data/loan_train.csv')
df.head()# 男女平均收入
df.groupby(['Gender'])[['ApplicantIncome']].mean()# 平均贷款金额不同的财产地区,如城市,农村
df.groupby(['Property_Area'])[['LoanAmount']].mean()# 比较不同教育背景的贷款状况
df.groupby(['Education'])[['Loan_Status']].count()

代码:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/groupby_in_pandas.ipynb

Pandas技巧4–Pandas map

map是另一个提供高度灵活性和实际应用的重要操作。

Pandas map()用于根据输入对应关系将序列中的每个值映射到其他值。实际上,这个输入可以是一个序列、字典,甚至是一个函数。

让我们举一个有趣的例子。我们有一个虚拟的雇员数据集。此数据集由以下列组成–姓名、年龄、职业、城市。

现在需要添加另一列,说明相应的状态。你会怎么做?如果数据集的范围是10行,你可以手动执行,但是如果有数千行呢?使用Pandas map会更有利。

视频:https://youtu.be/XkwQOy5RZWY

#样本数据
data = {'name': ['A', 'B', 'C', 'D', 'E'], 'age': [22, 26, 33, 44, 50],'profession' : ['data engineer', 'data scientist', 'entrepreneur', 'business analyst', 'self-employed'], 'city': ['Gurgaon', 'Bangalore', 'Gurgaon', 'Pune', 'New Delhi']}df = pd.DataFrame(data)
df# 城市与州
map_city_to_states = { 'Gurgaon' : 'Haryana', 'Bangalore' : 'Karnataka', 'Pune' : 'Maharashtra', 'New Delhi' : 'Delhi'}# 将城市列映射为州
df['state'] = df['city'].map(map_city_to_states)
df

代码:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/map%20python.ipynb

Pandas技巧5–Pandas DataFrame的条件格式化

这是我最喜欢的Pandas技巧之一。这个技巧让我有能力直观地定位特定条件下的数据。

可以使用Pandas的style属性将条件格式应用于数据框。事实上,条件格式是根据某种条件对数据帧应用视觉样式的操作。

虽然Pandas提供了大量的操作,但我将在这里向你展示一个简单的操作。例如,我们有对应于每个销售人员的销售数据。我想查看的是销售价值高于80的。

视频:https://youtu.be/vuirWysk_BA

import pandas as pddata = pd.read_excel("../Data/salesman_performance.xlsx")
datadata.styledef highlight_green(sales):color = 'green' if sales > 80 else 'black'return 'color: %s' % colorformatting = data.iloc[:,1:6].style.applymap(highlight_green)
formatting

代码:https://github.com/kunalj101/Data-Science-Hacks/blob/master/Code/Pandas_conditional_formatting.ipynb

结尾

在这篇文章中,我们总结了Pandas的5个技巧。我希望这些技巧能帮助你完成日常的任务,并为你节省很多时间。

原文链接:https://www.analyticsvidhya.com/blog/2020/07/5-striking-pandas-tips-and-tricks-for-analysts-and-data-scientists/

往期精彩回顾适合初学者入门人工智能的路线及资料下载机器学习及深度学习笔记等资料打印机器学习在线手册深度学习笔记专辑《统计学习方法》的代码复现专辑
AI基础下载机器学习的数学基础专辑获取一折本站知识星球优惠券,复制链接直接打开:https://t.zsxq.com/662nyZF本站qq群1003271085。加入微信群请扫码进群(如果是博士或者准备读博士请说明):

【Python基础】5个Pandas技巧相关推荐

  1. 【Python基础】入门Pandas不可不知的技巧

    来源:Python数据之道 作者:Peter 整理:阳哥 如果你用 Python 做数据分析,必然会绕不过 Pandas 的使用,实际上, Python 也是由于 numpy.pandas 等数据科学 ...

  2. 【Python基础】在pandas中使用pipe()提升代码可读性

    1 简介 我们在利用pandas开展数据分析时,应尽量避免过于「碎片化」的组织代码,尤其是创建出过多不必要的「中间变量」,既浪费了「内存」,又带来了关于变量命名的麻烦,更不利于整体分析过程代码的可读性 ...

  3. 【Python基础】在pandas中利用hdf5高效存储数据

    1 简介 HDF5(Hierarchical Data Formal)是用于存储大规模数值数据的较为理想的存储格式. 其文件后缀名为h5,存储读取速度非常快,且可在文件内部按照明确的层次存储数据,同一 ...

  4. 【Python基础】这个Pandas函数可以自动爬取Web图表

    Pandas作为数据科学领域鳌头独占的利器,有着丰富多样的函数,能实现各种意想不到的功能. 作为学习者没办法一次性掌握Pandas所有的方法,需要慢慢积累,多看多练. 这次为大家介绍一个非常实用且神奇 ...

  5. 【Python基础】在pandas中使用数据透视表

    文章来源于Python大数据分析,作者朱卫军 什么是透视表? 经常做报表的小伙伴对数据透视表应该不陌生,在excel中利用透视表可以快速地进行分类汇总,自由组合字段聚合计算,而这些只需要拖拉拽就能实现 ...

  6. python基础知识选择题-99道经典练习题助你全面掌握python基础知识,附技巧答案...

    不知何时,全民学python已经达到了高潮!有很对人都在问,python这么火,学了之后到底能做什么了? 对于这个问题,我只想说一句:python真的无所不能: 它是人工智能的首选语言,主流有一下方向 ...

  7. python经典程序练习题-99道经典练习题助你全面掌握python基础知识,附技巧答案...

    不知何时,全民学python已经达到了高潮!有很对人都在问,python这么火,学了之后到底能做什么了? 对于这个问题,我只想说一句:python真的无所不能: 它是人工智能的首选语言,主流有一下方向 ...

  8. Python基础知识之pandas加载本地txt格式或csv格式的数据

    文章目录 前言 一.pandas是什么? 二.使用步骤 1.读取txt格式的数据 2.读取CSV格式的数据 三.总结 前言 今天需要使用pytorch处理自己的数据,由于数据存储格式为txt和csv, ...

  9. 用 Python 做数据处理必看:12 个使效率倍增的 Pandas 技巧(上)

    导语 Python正迅速成为数据科学家偏爱的语言,这合情合理.它拥有作为一种编程语言广阔的生态环境以及众多优秀的科学计算库.如果你刚开始学习Python,可以先了解一下Python的学习路线. 在众多 ...

最新文章

  1. c语言名字程序,c语言获得程序位数和操作系统位数和名称
  2. 1.43千米外隔墙透视!这项黑科技已被中科大潘建伟团队实现
  3. 图解WebSphere 8.5 安装
  4. HarmonyOS之深入解析WLAN的功能和使用
  5. SpringMVC 上传文件and过滤器
  6. cannot convert 'this' pointer from 'const class A' to 'class A '
  7. 内存和显存_小科普 |“内存”和“显存”有啥关系?
  8. [转载] python列表解释(list comprehension)记录
  9. Java——NIO和IO的区别
  10. 在哪里设置自动锁定计算机,教你电脑锁屏怎么设置,让电脑自动锁屏
  11. 搜索引擎整体结构图以及描述
  12. tempo jsnode扩展 3d图形支持。
  13. [学习]18 SMART原则 如何科学的制定计划
  14. OpenCV学习笔记(6)基于 VC+OpenCV+DirectShow 的多个摄像头同步工作
  15. 物联网培训预示着我们将进入智能时代
  16. [导入]Web聊天:八个优秀的网页聊天服务
  17. Master指令,Control指令,Register指令,PreviousPageType指令,MasterType指令
  18. nodejs之cordova 跨平台开发
  19. Prometheus + AlertManager + Prometheus-webhook-dingtalk的告警通知
  20. C#报错:未将对象设置到对象实例 Object reference not set to an instance of an object

热门文章

  1. (转) Android 数字签名
  2. vue 设置 input 为不可以编辑
  3. [转].NET下读取PDF文本
  4. Basic REST API Design
  5. asp.net代码中修改web.config节点
  6. OriginPro 2021b SR1 9.8.5 for win 科学绘图完美中文版
  7. net start zabbix agent 服务没有相应控制功能_zabbix-基础系列(十七)--实战之监控 php-fpm...
  8. 机器人学习--路径规划--A*算法实现
  9. 光流 | OpenCV中的Lucas-Kanade光流与稠密光流:基于Opencv+Python(附代码)
  10. Spring基础知识和配置