文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Pandas的使用技巧有哪些

2023-06-27 23:49

关注

这篇文章主要介绍了Pandas的使用技巧有哪些的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Pandas的使用技巧有哪些文章都会有所收获,下面我们一起来看看吧。

Pandas是一个强大的分析结构化数据的工具集;它的使用基础是Numpy(提供高性能的矩阵运算);用于数据挖掘和数据分析,同时也提供数据清洗功能。

Pandas的使用技巧有哪些

Pandas技巧1–行的条件选择

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

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

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

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

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

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

Pandas技巧2–数据的存储

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

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

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

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()

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()

Pandas技巧4–Pandas map

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

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

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

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

#样本数据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

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

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

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

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

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

关于“Pandas的使用技巧有哪些”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“Pandas的使用技巧有哪些”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯