Python教程

python0基础学数据分析-数据清洗

本文主要是介绍python0基础学数据分析-数据清洗,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

重点:

1.缺失值空值的处理

1.1空值的查看

函数: df[df.Cabin.isna()]

info()

isnull().sum()

1.2空值处理

1.2.1空值的删除 函数:dropna()

1.2.2空值的替换 函数:df[df['Age']==None]=0

df[df['Age'].isnull()] = 0

df[df['Age'] == np.nan] = 0

df[df.Age.isna()]

注意:空缺值的数据类型为float64所以用None一般索引不到,比较的时候最好用np.nan

2.重复值的处理

pandas.DataFrame.duplicated — pandas 1.3.0 documentation (pydata.org)

pandas || df.dropna() 缺失值删除_一个还在挣扎的码农的博客-CSDN博客

2.1查看

函数:df[df.duplicated()]

2.2删除  

df = df.drop_duplicates()
df.head()

2.3 填充 pandas.DataFrame.fillna — pandas 1.3.0 documentation (pydata.org)

fill函数

bfill pandas.DataFrame.bfill — pandas 1.3.0 documentation (pydata.org)

ffill & meanfill

2.3 特征观察与处理

分箱函数 cut 

RFM模型可用??

1)将连续变量Age平均分箱成5个年龄段,并分别用类别变量12345表示

df['AgeBand'] = pd.cut(df['Age'], 5,labels = [1,2,3,4,5])

2)指定区间分箱:将连续变量Age划分为(0,5] (5,15] (15,30] (30,50] (50,80]五个年龄段,并分别用类别变量12345表示
df['AgeBand'] = pd.cut(df['Age'],[0,5,15,30,50,80],labels = [1,2,3,4,5])

3)百分比分箱:将连续变量Age按10% 30% 50 70% 90%五个年龄段,并用分类变量12345表示
df['AgeBand'] = pd.qcut(df['Age'],[0,0.1,0.3,0.5,0.7,0.9],labels = [1,2,3,4,5])

这篇关于python0基础学数据分析-数据清洗的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!