第二章第一节
内容相对比较基础
环境问题:pandas更新Jupyter不正常
Bad file descriptor (C:\ci\zeromq_1602704446950\work\src\epoll.cpp:100)解决办法
任务2.1 缺失值观察与处理
常用的缺失值处理方法:
1 | df.isnull() |
其中:
pandas.DataFrame.fillna(value=None, method=None, axis=None, inplace=False, limit=None, downcast=None)
1 | value scalar、dict、Series 或 DataFrame。用于替换 NaN 的值 |
pandas.DataFrame.dropna(axis=0, how=’any’, thresh=None, subset=None, inplace=False)
1 | axis 它决定轴是行还是列。 |
【思考】检索空缺值用np.nan
,None
以及.isnull()
哪个更好,这是为什么?如果其中某个方式无法找到缺失值,原因又是为什么?
【回答】本文件用isnull
,np.nan
,None
都索引不到
任务2.3特征观察与处理
分箱操作:pd.cut/qcut()
1 | pd.cut( x, bins, right=True, labels=None, retbins=False, precision=3, include_lowest=False, duplicates='raise', ) |
即cut自定义水平较高,qcut只能按比例分箱。
间隔索引举例:
1 | bins = pd.IntervalIndex.from_tuples([(0, 1), (2, 3), (4, 5)]) |
任务2.4 数据的合并
【思考】对比merge、join以及concat的方法的不同以及相同。思考一下在任务四和任务五的情况下,为什么都要求使用DataFrame的append方法,如何只要求使用merge或者join可不可以完成任务四和任务五呢?
【回答】
四种用法的区别 即,concat和merge既能行也能列,join只能列,append只能行
只要求使用merge或者join可不可以完成任务四和任务五呢?merge可以,join不可以
agg函数
小插曲
0x800700E1: 无法成功完成操作,因为文件包含病毒 很上头,准备打开WindowsTerminal用Hexo,结果刚打开就报错0x800700E1,然后尝试直接打开powershell,结果报毒,尝试了更新系统、关闭WindowsDefender,都没用,睡了一觉突然想到能不能重装powershell,于是装了个新版的powershell,问题解决了。