Datawhale开源学习
本次学习内容链接:https://datawhalechina.github.io/joyful-pandas/build/html/%E7%9B%AE%E5%BD%95/ch2.html#id1
本次笔记依旧分为两部分,第一部分是针对自己的情况摘取基础知识的学习和整理,第二部分就是练一练与练习题。
一、基础知识
2.2 基本的数据结构
pandas 中具有两种基本的数据存储结构,存储一维values的Series和存储二维values的DataFrame,在这两种结构上定义了很多的属性和方法。
2.3.4 替换函数
pandas中的替换函数可以归纳为3类,映射替换、逻辑替换、数值替换。其中映射替换包含replace方法,str.replace方法以及cat.codes方法。
replace 方向替换:
注:正则替换请使用 str.replace
逻辑替换包括了where和mask,这两个函数是完全对称的:where函数在传入条件为False时进行对应替换,mask在传入条件为True时进行对应替换。
需要注意的是,传入的条件只需是与被调用的Series索引一致的布尔序列即可。比如此处s的索引为4,那么传入的条件也需要与其大小对应。
常用的基本函数
排序共有两种方式,一是值排序,二是索引排序,对应的函数是sort_values和sort_index。
当遇到多列排序的问题时,比如体重相同的情况下,对身高进行排序,并且保持身高降序排列,体重升序排列。
错误:
df_demo.sort_values(['Height','Weight'], ascending=[False, True]).head(10)
正确:
df_demo.sort_values(['Weight','Height'], ascending=[True, False]).head(10)
温馨提示:需要注意列名的先后顺序。
二、习题解答
练一练1
在 clip 中,超过边界的只能截断为边界值,如果要把超出边界的替换为自定义的值,应当如何做?
s = pd.Series([-1, 1.2345, 100, -50])
s.clip(0,2)</