一次偶然的机会在知乎上发现了Analytics vidhya这个网站,对将要实习的我来说简直是如获至宝。网站中关于数据分析的方法和案例都有很详细的说明。通过浏览网页,我决定第一个项目从贷款预测入手,巩固一下pandas的基础。
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
data = pd.read_csv("C:\\Users\\lixiao\\Downloads\\train.csv",index_col="Loan_ID")
print(data)
1.根据所需条件过滤列中的值
pandas布尔索引的区别:
iloc,即index locate 用index索引进行定位,所以参数是整型,如:df.iloc[10:20, 3:5]
loc,通过label 名称来过滤,可使用column名和index名进行定位,如:df.loc[‘image1’:‘image10’, ‘age’:‘score’]
条件:获得没有毕业并获得贷款的所有女性的名单
df = data.loc[(data["Gender"]=="Female")&(data["Education"]=="Not Graduate")&(data["Loan_Status"]=="Y"),["Gender","Education","Loan_Status"]]
print(df)
2.apply应用功能
**apply是播放数据和创建新变量的常用函数之一。在使用某个函数传递数据框的每一行/列后,Apply返回一些值。**该功能可以是默认功能,也可以是用户定义的功能。
例如,这里可以用它来查找每行和每列中的#missing值。
def num_missing(x):
return sum(x.isnull())
print("Missing values per column:")
print(data.apply(num_missing, axis=0))
print("\nMissing values per row:")
print(data.apply(num_missing, axis=1).head())#head()函数用于第二个输出,因为它包含许多行
3.更新缺失值
’fillna()用于使用列的总体平均值/模式/中值更新缺失值。<