首页技术文章正文

python库pandas之5种使用技巧

更新时间:2017-11-14 来源:黑马程序员 浏览量:

Python 正迅速成为数据科学家们更为钟爱的编程语言。形成该现状的理由非常充分:Python 提供了一种覆盖范围更为广阔的编程语言生态系统,以及具有一定计算深度且性能良好的科学计算库。


在 Python 自带的科学计算库中,Pandas 模块是最适于数据科学相关操作的工具。本文着重介绍了 Python 中数据处理的5种方法。


首先导入相关模块并加载数据集到 Python 环境中:


import pandas as pd

import numpy as np

data = pd.read_csv("***.csv", index_col="Loan_ID")


1、Apply 函数


Apply 函数是处理数据和建立新变量的常用函数之一。在向数据框的每一行或每一列传递指定函数后,Apply 函数会返回相应的值。这个由 Apply 传入的函数可以是系统默认的或者用户自


def num_missing(x):

return sum(x.isnull())

#Applying per column:

print "Missing values per column:"

print data.apply(num_missing, axis=0)


2、填补缺失值


fillna() 函数可一次性完成填补功能。它可以利用所在列的均值/众数/中位数来替换该列的缺失数据。下面利用“Gender”、“Married”、和“Self_Employed”列中各自的众数值填补对应列的缺失数据。


from scipy.stats import mode

mode(data['Gender'])


3、 数据透视表


Pandas 可建立 MS Excel 类型的数据透视表。例如在下文的代码段里,关键列“LoanAmount” 存在缺失值。我们可以根据“Gender”,“Married”和“Self_Employed”分组后的平均金额来替换。 “LoanAmount”的各组均值可由如下方法确定


4、复合索引


如果您注意观察#3计算的输出内容,会发现它有一个奇怪的性质。即每个索引均由三个数值的组合构成,称为复合索引。它有助于运算操作的快速进行。


从#3的例子继续开始,已知每个分组数据值但还未进行数据填补。具体的填补方式可结合此前学到的多个技巧来完成。


for i,row in data.loc[data['LoanAmount'].isnull(),:].iterrows():

ind = tuple([row['Gender'],row['Married'],row['Self_Employed']])

data.loc[i,'LoanAmount'] = impute_grps.loc[ind].values[0]

#Now check the #missing values again to confirm:

print data.apply(num_missing, axis=0)


5、Crosstab 函数


该函数用于获取数据的初始印象(直观视图),从而验证一些基本假设。例如在本例中,“Credit_History”被认为会显著影响贷款状态。这个假设可以通过如下代码生成的交叉表进行验证:


pd.crosstab(data["Credit_History"],data["Loan_Status"],margins=True)
友情提示:获得更多学科学习视频+资料+源码,请加QQ:3276250747。


本文版权归黑马程序员人工智能+Python学院所有,欢迎转载,转载请注明作者出处。谢谢!


作者:黑马程序员人工智能+Python培训学院


首发:http://python.itheima.com/


分享到:
在线咨询 我要报名
和我们在线交谈!