《动手学数据分析》第二章学习笔记

《动手学数据分析》第二章学习笔记

数据清洗及特征处理
1.缺失值观察与处理
查看数据信息
df.info()
缺失值统计
df.isnull().sum()

df.isnull().any()
缺失值处理
  • isnull()用来找出缺失值的位置,返回一个bull类型的掩码标记缺失值

  • notnull()是找出非空值并用bull值进行标记

  • dropna()就是字面意思,即丢掉缺失值

df.dropna(axis=0, how=‘any’, thresh=None, subset=None, inplace=False)
  • fillna()的作用是填充缺失值
2.重复值观察与处理
查看重复值
df.duplicated()
处理重复值

duplicated():用于标记是否有重复值

duplicated(subset=None, keep=“first”)

drop_duplicates():用于删除重复值

drop_duplicated(subset=None, keep=“first”, inplace=False)
3.特征观察与处理

离散化处理

​ 实现连续数据离散化处理主要基于两个函数,pandas.cut 和 pandas.qcut,前者根据指定分界点对连续数据进行分箱处理,后者则可以根据指定箱子的数量对连续数据进行等宽分箱处理,所谓等宽指的是每个箱子中的数据量是相同的

eg:将“年龄”分为5个区间

df['AgeBand'] = pd.cut(df['Age'],[0,5,15,30,50,80],labels = [1,2,3,4,5])
df.head()
数据重构
1.数据合并

数据横向合并为一张表(concat方法)

list_up = [text_left_up,text_right_up]
result_up = pd.concat(list_up,axis=1)
result_up.head()

数据纵向合并为一张表(concat方法)

list_down=[text_left_down,text_right_down]
result_down = pd.concat(list_down,axis=1)
result = pd.concat([result_up,result_down])
result.head()

pandas中的拼接方法

.concat()pandas提供的方法,提供了axis设置可用于df间行方向(增加行,下同)或列方向(增加列,下同)进行内联或外联拼接操作
.append():dataframe数据类型的方法,提供了行方向的拼接操作
.join():dataframe数据类型的方法,提供了列方向的拼接操作,支持左联、右联、内联和外联四种操作类型
.merge():pandas提供的方法,提供了类似于SQL数据库连接操作的功能,支持左联、右联、内联和外联等全部四种SQL连接操作类型
数据可视化

柱状图plot.bar()

unstack() :根据索引行列转换的函数

用stacked=True可以生成堆积条形图或者堆积柱形图

plot()kind参数表:kind参数——‘line’, ‘bar’, ‘barh’,‘kde’

plt.legend():用于给图像加图例

​ eg:设置图列位置

plt.legend(loc='upper center')

​ 设置图例字体大小

​ 设置图例边框及背景

plt.legend(loc='best',frameon=False) #去掉图例边框

​ 设置图例名字及对应关系

legend = plt.legend([p1, p2], ["CH", "US"])

plt.scatter():用于画散点图

网格线:plt.grid() :显示网格线,1=True=默认显示;0=False=不显示

使用aspect 和 height来控制图形的清晰度,aspect * height 所得到的结果越大,图形越模糊

hue() :用来分类

shade() :若为True,则在kde曲线下面的区域中进行阴影处理

画图步骤

1)定义画图的画布:fig = plt.figure( )

2)定义子图ax ,使用 ax= fig.add_subplot( 行,列,位置标)

3)用 ax.plot( )函数或者 df.plot(ax = ax)

4)结尾加plt.show()

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值