apply()
train['Has_Cabin'] = train["Cabin"].apply(lambda x: 0 if type(x) == float else 1)
传入一个函数,应用于一个列。
重载[]
dataset.loc[dataset['FamilySize'] == 1, 'IsAlone'] = 1
将将dataset的FamilySize字段等于1的列的IsAlone列的值设为1。
numeric_features = features.loc[:,['LotFrontage', 'LotArea', 'GrLivArea', 'TotalSF']]
重载&
dataset.loc[(dataset['Fare'] > 7.91) & (dataset['Fare'] <= 14.454), 'Fare'] = 1
将7.91<Fare<=14.454的列的Fare列设置为1。
isnull()
age_null_count = dataset['Age'].isnull().sum()
找出缺失项。
fillna()
dataset['Embarked'] = dataset['Embarked'].fillna('S')
将缺失项填充为'S'。
replace()
dataset['Title'] = dataset['Title'].replace('Mlle', 'Miss')
替换给定值。
corr()
train.astype(float).corr()
求相关系数矩阵。
concat()
NAs = pd.concat([train.isnull().sum(), test.isnull().sum()], axis=1, keys=['Train', 'Test'])
拼接两列.
factorize()
将字符数据字符化,一个字符对应一个数字。
dic = {"X": ["a", "a", "b", "c"], "Y": [1, 2, 3, 4]}
df = pd.DataFrame(dic)
pd.factorize(df['X'])[0]
Output:
array([0, 0, 1, 2], dtype=int64)