全国咨询/投诉热线:400-618-4000

Python库pandas使用的5种技巧

更新时间:2017年12月26日15时20分 来源:传智播客 浏览次数:

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)

本文版权归传智播客人工智能+Python学院所有,欢迎转载,转载请注明作者出处。谢谢!
作者:传智播客人工智能+Python学院

javaee

python

web

ui

cloud

test

c

netmarket

pm

Linux

movies

robot

uids

北京校区

    14天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    15天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    8天免费试学

    基础班入门课程限时免费

    申请试学名额

    20天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    0天免费试学

    基础班入门课程限时免费

    申请试学名额

    12天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    5天免费试学

    基础班入门课程限时免费

    申请试学名额

    10天免费试学

    基础班入门课程限时免费

    申请试学名额