中山网站搭建,企业型网站网址,原来神马电影网在线观看高清免费,温州整站推广咨询【Educoder数据挖掘实训】冗余值的处理 开挖 这个题就比较容易了#xff0c;实训里的要求写的也比较清楚。 主要是讲解了 d r o p _ d u p l i c a t e s drop\_duplicates drop_duplicates函数#xff0c;该函数补全如下#xff1a;
DataFrame.drop_duplicates(subsetNone…【Educoder数据挖掘实训】冗余值的处理 开挖 这个题就比较容易了实训里的要求写的也比较清楚。 主要是讲解了 d r o p _ d u p l i c a t e s drop\_duplicates drop_duplicates函数该函数补全如下
DataFrame.drop_duplicates(subsetNone, keepfirst, inplaceFalse, ignore_indexFalse)其中 s u b s e t subset subset是固定那些行 k e e p keep keep是针对冗余信息的处理方式 i n p l a c e inplace inplace是指是否对表格进行直接修改 i g n o r e _ i n d e x ignore\_index ignore_index表示是否重置索引。
题目还介绍了 r e s e t _ i n d e x reset\_index reset_index函数只需要按照题目要求完成即可。
代码如下
import pandas as pddata pd.read_csv(src/death.csv, index_colUnnamed: 0)data data.dropna(axis1, threshdata.shape[0] * 0.2)
data data.dropna(axis0, threshdata.shape[1] * 0.2)a pd.isna(data).sum()
cols [x for i, x in enumerate(a.index) if a[i] 0]mode_list FIPS Admin2
for i in cols:if mode_list.find(i) ! -1: data[i] data[i].fillna(data[i].mode().iloc[0])else:data[i] data[i].fillna(data.mean()[i])########## Begin ##########
df pd.DataFrame(data data)
#去除所有重复项
df df.drop_duplicates(keep False)
#重置索引从0重新开始
data df.reset_index(drop True)########## End ##########print(data) 做一些补充
如果前几个实训有过尝试就会发现 d a t a data data本身就是一个 D a t a F r a m e DataFrame DataFrame类型的数据所以我们根本不需要强制转换类型也就是
df pd.DataFrame(data data)这一步是完全没用的直接对 d a t a data data操作即可。
代码更改为
import pandas as pddata pd.read_csv(src/death.csv, index_colUnnamed: 0)data data.dropna(axis1, threshdata.shape[0] * 0.2)
data data.dropna(axis0, threshdata.shape[1] * 0.2)a pd.isna(data).sum()
cols [x for i, x in enumerate(a.index) if a[i] 0]mode_list FIPS Admin2
for i in cols:if mode_list.find(i) ! -1: data[i] data[i].fillna(data[i].mode().iloc[0])else:data[i] data[i].fillna(data.mean()[i])########## Begin ##########
#去除所有重复项
data data.drop_duplicates(keep False)
#重置索引从0重新开始
data data.reset_index(drop True)########## End ##########print(data)
但是上述的 d r o p drop drop函数里有一个参数叫 i g n o r e _ i n d e x ignore\_index ignore_index难道不可以直接对这个参数进行操作进而不需要 r e s e t _ i n d e x reset\_index reset_index了吗 不可以因为 E d u c o d e r Educoder Educoder上给出的 P a n d a s Pandas Pandas版本过于老旧当时的 d r o p _ d u p l i c a t e s drop\_duplicates drop_duplicates函数还只有三个参数并不能自行重置索引。
而在 r e s e t i n d e x reset_index resetindex函数中的 d r o p drop drop则是是否保留原索引列。如果直接调用这个函数而不置 d r o p drop drop为 T r u e True True的话 d r o p drop drop默认为 F a l s e False False会单独将原索引列保留为一个普通列。