资料分析流程笔记

    技术2022-07-11  102

    前言

    每次做资料分析前,笔者需先对资料进行了解,第一步就是进行探索分析EDA,此篇笔记记录常用套路,画图方法不常用就忘了,很容易小地方错了就做不出来,因此顺道记录哪里需要注意。

    查看内容

    data[“Title1”].unique() 查看唯一值 pd.crosstab(df.Title, df.Survived).T.style.background_gradient() cross table 且用颜色深浅显示 df.Title.value_counts() 计算数值个数

    一般画图

    开画布 f, ax = plt.subplots(1, 2, figsize=(15, 6)) 两张画布用ax[0] & ax[1]设定 ax[0].set_title(“表头”)

    seaborn画图

    画出比例 sns.barplot(x=“x轴”, y=“y轴”, data=“资料来源”)

    曲线图(下方有上色) sns.FacetGrid(data=df, hue=“Title”, aspect=3).map(sns.kdeplot, “Age”, shade=True) 画出数量 sns.countplot()

    开出一张画布, g = sns.FacetGrid(train_data, hue=“Sex”, aspect=3)#aspect图幅调整比例 g.map(sns.kdeplot, “Age”, shade=True) g.set(xlim=(0, train_data[“Age”].max())) g.add_legend()

    Data Wrangling

    探索以后,可能会合并一些栏位 df[“新变量”] = df.变量1 + df.变量2 群组后观察平均值等等情况

    技巧

    取代(用建立好的字典替换过去Title栏位) df.replace({‘Title’: 字典}, inplace=True)

    遇到一段连续数字做切分,可以用pd.qcut,但要记得转换 from sklearn.preprocessing import StandardScaler, LabelEncoder df[‘AgeBin’] = pd.qcut(df[‘Age’], 4) label = LabelEncoder() df[‘AgeBin_Code’] = label.fit_transform(df[‘AgeBin’])

    Processed: 0.010, SQL: 9