动手学数据分析 | 函数大杂烩

【课程记录】

参加datawhale9月的动手学数据分析组队学习
记录过程代码于GitHub - Jiangjiang-111/hands-on-data-analysis-202209: 记录在组队学习过程中的代码和笔记

在这里我主要复习一下用到的函数


【课程总结】

本次课程的总任务是实战kaggle上泰坦尼克号的任务,对其数据集进行分析, 主要利用pandas实现。


第一章 :数据载入及初步观察 

1.1 载入

导入numpy和pandas:  from numpy as np , from pandas as pd

载入/读入数据:pd.read_csv()等

修改数据:使用.rename等方法修改数据,set_index来设置索引

查看数据:使用df.info() ,   df.describe()方法

保存数据:df.to_csv()

1.2 观察数据类型并查看

了解数据类型DataFrame和Series:

        Series是由索引和列组成,pd.Series(values, index=[ ], name=" ", dtype=" ") ,其中values可以使用[ ,,,, ] 或者类似字典的方式 {“  ”: ,“  ”: ,“  ”: }

        DataFrame,pd.DataFrame(values, index=[ ], columns=[ ], dtype=" ")

查看值:df[ ].head()    df.  .head()

删除: del   df.drop()等方法

隐藏:  df.drop()

筛选 : df[df["Age"]<10]      df[(df["Age"]<50) & (df["Age"]>10)]

抽取数据 : data.loc[index,column]    df.iloc[   , ]

df.loc[[100,105,108],['Pclass','Name','Sex']].head() loc函数主要基于行标签和列标签进行索引
df.iloc[[100,105,108],[2,3,4]]  iloc函数主要基于行索引和列索引

1.3 排序、计算数据

排序:     df.sort_values( ) 对值进行排列   df.sort_index() 对索引进行排列  (默认行索引,默认升序)

算术计算:   frame1_a + frame1_b等等

第二章 :数据清洗及特征处理

2.1 观察缺失值、重复值并处理

缺失值观察: data.info()    data.isnull( )     data.notnull( )

缺失值处理:data.dropna() 删除缺失值   data.fillna() 清理并填充缺失值   data.replace() 替换通用值

重复值观察: df.duplicated()  查找并显示数据表中的重复值

重复值处理: drop_duplicates() 去重函数

特征观察与处理:  数据特征分为两大类:数值特征(离散数值特征、连续数值特征)、文本特征

        连续数值特征需要离散化处理:  pd.cut() 分箱操作

        对文本变量进行转换:

        (1)查看文本变量名及种类 .value_counts()  .unique()  .nunique()

        (2)将文本变量用数值表示   .replace(["male","female"],[1,2])    .map({'male': 1, 'female': 2})   LabelEncoder() 

        (3)将文本变量用one-hot编码表示

2.2 数据的合并

数据的合并: pd.concat([ , ],axis=)  ,pd.merge( ) ,或使用DataFrame自带的方法 df.join( )和 df.append( )

2.3 数据聚合

数据聚合: df.groupby() 聚合函数  df.agg() 聚合函数

第三章 :数据建模和模型评估

使用一个机器学习最常用的一个库(sklearn)来完成模型的搭建和评估

3.1 建模

切割数据集为测试集和训练集:

from sklearn.model_selection import train_test_split

 train_test_split() 

模型创建:

 from sklearn.linear_model import LogisticRegression

lr = LogisticRegression()

模型训练 / 拟合数据集: 

lr.fit(X_train, y_train) 

查看训练集和测试集score值:

lr.score(X_train, y_train)

输出预测标签:

lr.predict(X_train)

预测标签概率:

lr.predict_proba(X_train)

3.2 评估

交叉验证:

from sklearn.model_selection import cross_val_score

cross_val_score(lr, X_train, y_train, cv=10)

混淆矩阵:

from sklearn.metrics import confusion_matrix

confusion_matrix(y_train, pred)

精确率、召回率以及f-分数: 

from sklearn.metrics import classification_report


classification_report(y_train, pred)

ROC曲线:

from sklearn.metrics import roc_curve

fpr, tpr, thresholds = roc_curve(y_test, lr.decision_function(X_test))

plt.plot(fpr, tpr, label="ROC Curve")

【教程地址】


- 开营视频:动手学数据分析_哔哩哔哩_bilibili
[https://m.bilibili.com/video/BV1Hi4y1179E](https://m.bilibili.com/video/BV1Hi4y1179E)
- 开源内容(三选一):

(1):[https://linklearner.com/datawhale-homepage/#/learn/detail/50](https://linklearner.com/datawhale-homepage/#/learn/detail/50)

(2):[https://github.com/datawhalechina/hands-on-data-analysis](https://github.com/datawhalechina/hands-on-data-analysis)

(3):[https://gitee.com/datawhalechina/hands-on-data-analysis](https://gitee.com/datawhalechina/hands-on-data-analysis)
- B站视频:[https://www.bilibili.com/video/BV1Uv411p77r](https://www.bilibili.com/video/BV1Uv411p77r)
- 关于Pandas的操作,你可以参考*Joyful-Pandas*,可以让你的数据分析学习事半功倍:[https://gitee.com/cocowjy1126/joyful-pandas](https://gitee.com/cocowjy1126/joyful-pandas)
- 本次学习使用的书籍《利用Python进行数据分析》

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值