您好,登录后才能下订单哦!
小编给大家分享一下Pandas使用技巧有哪些,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
首先,数据探索是必要步骤。Pandas
为进行各种分析提供了一种快速简便的方法。其中一个非常重要的技巧是根据条件选择行或过滤数据。
行的条件选择可以基于由逻辑运算符分隔的单个语句中的单个条件或多个条件。
例如,我使用一个关于贷款预测的数据集。
我们将挑选一排还没有毕业、收入低于5400英镑的客户。让我们看看我们该怎么做。
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
注意:记住把每个条件放在括号内。
数据可以有两种类型-连续的和离散的,这取决于我们的分析要求。有时我们不需要连续变量中的精确值,但需要它所属的群体。
例如,你的数据中有一个连续变量,年龄。但你需要一个年龄组来进行分析,比如儿童、青少年、成人、老年人。实际上,Binning
非常适合解决我们这里的问题。
为了执行Binning
,我们使用cut()
函数。这对于从连续变量到离散变量非常有用。
import pandas as pd df = 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
提供了一个基本的函数来执行数据分组,即Groupby
。
Groupby
操作包括根据特定条件拆分对象,应用函数,然后组合结果。
让我们再看一次贷款预测数据集,假设我想看看给来自不同财产领域的人的平均贷款额,比如农村、半城市和城市。花点时间来理解这个问题陈述并思考如何解决它。
嗯,Pandas
的groupby
可以非常有效地解决这个问题。首先根据属性区域划分数据。其次,我们将mean()
函数应用于每个类别。最后,我们将它们组合在一起,并将其打印为新的数据帧。
#导入数据集 import pandas as pd df = 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()
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
技巧之一。这个技巧让我有能力直观地定位特定条件下的数据。
可以使用Pandas
的style
属性将条件格式应用于数据框。事实上,条件格式是根据某种条件对数据帧应用视觉样式的操作。
虽然Pandas
提供了大量的操作,但我将在这里向你展示一个简单的操作。例如,我们有对应于每个销售人员的销售数据。我想查看的是销售价值高于80的。
import pandas as pd data = pd.read_excel("../Data/salesman_performance.xlsx") data data.style def highlight_green(sales): color = 'green' if sales > 80 else 'black' return 'color: %s' % color formatting = data.iloc[:,1:6].style.applymap(highlight_green) formatting
以上是“Pandas使用技巧有哪些”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。