动手学数据分析第二章第一节笔记

1.查看df中的缺失值,用df.info(),df.isna().sum()

2.查看df中的某几列数据,使用df[['feature1','feature2','feature3',]],其中注意两个细节,第一,列名要用引号括起来,第二,要用两层[],也就是说查看多列数据时要输入一个列表。还可以用df.drop()把不想看的数据列隐藏起来。

3.检索空缺值时用df.isnull()或者df.isna(),本课程中df[df['Age'] == np.nan] = 0和df[df['Age']==None]=0都没能将确实行赋值为0,说明df中的NaN既不是np.nan也不是None。

4.df.dropna()将含有缺失值的行全部删除,其中可以设置how('any','all')、subset两个参数df.fillna()将所有缺失值填充为0,可以设置value、method参数。 

5.df[df.duplicated()]查看重复行,df.duplicated()返回一个重复行行号构成的Series(不包括第一次出现的那行)。

6.df.drop_duplicates()删除重复行(不包括第一次出现的那行)。

7.pd.cut(df['Age'], 5,labels = [1,2,3,4,5]),分箱操作,均分为五个年龄段,并分别打上1,2,3,4,5标签,其中5也可以改为自定义区间,如输入[0,5,15,30,50,80]则代表分为(0,5] (5,15] (15,30] (30,50] (50,80]这五个区间。

8.保存为csv文件df.to_csv。

9. 将文本变量 Cabin ,Embarked用数值变量表示提供两种方法。

一,

for feat in ['Cabin', 'Ticket']:
    label_dict = dict(zip(df[feat].unique(), range(df[feat].nunique())))
    df[feat + "_labelEncode"] = df[feat].map(label_dict)

二,直接调用sklearn.preprocessing的LabelEncoder

from sklearn.preprocessing import LabelEncoder
for feat in ['Cabin', 'Ticket']:
    lbl = LabelEncoder()  
    df[feat + "_labelEncode"] = lbl.fit_transform(df[feat].astype(str))

10.看类别文本变量名及种类df.unique()、df.value_counts()还可以看各种种类的数量,df.nunique()直接看唯一值的数量。

11.将类别文本转换为one-hot编码x = pd.get_dummies(df[feat], prefix=feat),prefix=feat表示将各个onehot列的列名前缀设为feat。

12.正则表达式'([A-Za-z]+)\.',其中[A-Za-z]匹配任一大小写字母,'+'表示前面的符号出现一次或多次,\.:这部分匹配一个句点(.)。需要使用反斜杠 \ 来转义句点,因为句点在正则表达式中有特殊含义

  • 8
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值