1.布尔索引(Boolean Indexing)
如何你想用基于某些列的条件筛选另一列的值,你会怎么做?例如,我们想要一个全部无大学学历但有贷款的女性列表。这里可以使用布尔索引。代码如下:
data.loc[(data["Gender"]=="Female") &(data["Education"]=="Not Graduate") &(data["Loan_Status"]=="Y"),["Gender","Education","Loan_Status"]]
2、Apply函数
Apply是摆弄数据和创造新变量时常用的一个函数。Apply把函数应用于数据框的特定行/列之后返回一些值。这里的函数既可以是系统自带的也可以是用户定义的。例如,此处可以用它来寻找每行每列的缺失值个数:
def num_missing(x):
return sum(x.isnull()) #Apply到每一列:
print "Missing values per column:"
print data.apply(num_missing, axis=0)
#axis=0代表函数应用于每一列 #Apply到每一行:
print "nMissing values per row:"
print data.apply(num_missing, axis=1).head()
#axis=1代表函数应用于每一行
3.替换缺失值
from scipy.stats import mode
data['Gender'].fillna(mode(data['Gender']).mode[0], inplace=True)
data['Married'].fillna(mode(data['Married']).mode[0], inplace=True)
data['Self_Employed'].fillna(mode(data['Self_Employed']).mode[0], inplace=True)
#再次检查缺失值以确认:
print data.apply(num_missing, axis=0)
4、排序
data_sorted = data.sort_values(['ApplicantIncome','CoapplicantIncome'], ascending=False)
data_sorted[['ApplicantIncome','CoapplicantIncome']].head(10)