pandas数据结构介绍
Series
| pd.Series([1,2,3] ,index = []) | 创建一个带索引的一维数组 |
| pd.Series(字典 ,index= []) | 创建一个带索引的一维数组,可以通过index来修改索引,如修改后的索引不在字典中存在,该值为Na'N |
| arr.values | 获取数组数值 |
| arr.index | 获取数组索引对象 |
| arr['a','b'] | 通过索引方式选取单个或者一组值 |
| arr[arr>0] | 根据布尔型数组进行过滤 |
| b' in arr | 判断索引b是否存在 |
| pd.isnull(arr)或arr.isnull() | 判断是否缺失数据 |
| pd.notnull(arr) | 判断是否没有缺失数据 |
| arr+arr1 | Series中的一个重要功能是自动对齐不同索引的数据,返回的是arr和arr1的并集 |
| arr.name = 'a' | Series对象本身优一个name属性 |
| arr.index.name = 'b' | 索引有一个name属性 |
| arr.index = [] | 可就地修改索引 |
DataFrame
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpjME15OHpNMkkyWm1SbE5HRmlPV1E0TTJRellqTXpOemN4TldGallUSmtObUV5Tnk1S1VFVkg=)
| 列获取 |
| frame['a'] | 返回一个Series,如不存在a可以通过赋值方式进行修改 |
| frame.a | 返回一个Series |
| frame.ix['three'] | ix可进行行获取 |
| del frame['a'] | 删除a列 |
| frame.T | 对frame进行转置 |
| frame.index.name | 对index或columns设置name属性 |
索引对象
index对象是不可修改的,用户不能对此进行修改
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpFM055OWpNV0V5WlRBM01EUTNaamhtTldWa01HTXdZV0ZtWXpGaU5Ua3paalF5TVM1S1VFVkg=)
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpRd05DOHhaRGsxWlRNeVkyUXdZek5oTURKbU5XVXhOR05rTURkbFltTTFNVE5sTkM1S1VFVkg=)
基本功能
重新索引
| arr.reindex | 根据新索引进行重排,如果某个索引值不存在,就引入缺失值 |
| arr.reindex([],fill_value = 0,method = '') |
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpNeU5pODFPREUwWVRkbVl6UXpPRFZpWkRabE1HVTVNVGRoTVRFM1pESXlZbVUzTmk1S1VFVkg=)
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpFeU1TOHdPVEZoTW1Zd1lqTXhabUV4WldNMllXRTRaVFU1TjJKa05tUTRaREU1T1M1S1VFVkg=)
丢弃指定轴上的值
| obj.drop() | drop方法返回的是一个在指定轴上删除了指定值的新对象 |
索引、选取和过滤
| obj[’b‘:’c‘] | 利用标签的切片运算与普通的python切片运算不同,其末端是包含的 |
算术运算与数据对齐
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpRek5pOWlOVFF5TldNNE5qazBNRFppTmpCa1pEQTROMkUwTlRkak1HTXlOMlkxWXk1S1VFVkg=)
| 在算术方法中填充值 | df1.add(df2,fill_value = 0) |
| DataFrame 和Series之间的运算 | 会沿着一直向下广播 |
函数应用于映射
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpRNE1TODBNMkZrTmpVM00yTXhPV015WTJFMFlURTJaVGRqWTJSaU1UTTBOV1ZpT1M1S1VFVkg=)
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpJekx6RXhaR1prTTJNd05qY3hZV1l3WkdZek1USTRZMlkwTURWaU4yWTBNVGczTGtwUVJVYz0=)
排序和排名
| 按索引进行排序 | obj.sort_index(axis = 1, ascending = False) |
| 按值进行排序(Series) | obj.order() 任何缺失值会放到末尾 |
| 按值进行排序(DataFrame) | obj.sort_index(by=[]) 将一个或多个列的名字传递给by |
| rank返回排名值 | obj.rank(ascending = ,method = ) |
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpRM015ODVOV0l3TnpabU16RmlNV1poT1RZeU1XVXdPVFV6TURNNFlqVXhNbVF4TVM1S1VFVkg=)
带有重复值的轴索引
| obj.index.is_unique | 索引的is_unique属性可以知道它的值是否唯一 |
汇总和计算描述统计
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpZek55ODNNelZqTm1ZMVpUZGtZVGMxWkdVeE16RmlNbVEwTXpsbU5XVmxZVE5tWkM1S1VFVkg=)
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpNM015OHpPV0l5TmpFd09EaG1PR1EyTXpBd1pHTmlOV1l5TW1NM1pqTmhaV00wWkM1S1VFVkg=)
df.mean(axis = 1, skipna = )
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpjME9TOWhZakE0WlRKaE5UTm1NV1F3TkRCa1kyUXhNRGRrTkRCbFpqVXpOek00TlM1S1VFVkg=)
相关系数与协方差
| obj.corr() | 用于计算两个Series中重叠的、非NA的、按索引对齐的值的相关系数 |
| obj.cov() | 用于计算协方差 |
| obj.corrwith() | 计算其列或行跟另一个Series或DataFrame之间的相关系数 |
唯一值、值计数以及成员资格
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpnM01TOWlOMkV5WkRGa05EazJaRE01TXpKbVlXVXlZelZtWWpRMk5ESmxOV1psTnk1S1VFVkg=)
处理缺失数据
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THprd05pOHdNVEk0WW1NNU1qWmxZelU1TXpFM05HWmlPREZsTURNeE5XSmpabVJsTWk1S1VFVkg=)
滤掉缺失数据
df.dropna(how = ‘any’,thresh = 3)
填充缺失数据
df.fillna()
![[利用python进行数据分析 书笔记]第5章 pandas入门 [利用python进行数据分析 书笔记]第5章 pandas入门](/default/index/img?u=L2RlZmF1bHQvaW5kZXgvaW1nP3U9YUhSMGNITTZMeTl3YVdGdWMyaGxiaTVqYjIwdmFXMWhaMlZ6THpReU55OHpZelpsTmpNM05EVXpZalkwT0dWak4yRXlNVFJpTmpVM01Ua3lOelV4WWk1S1VFVkg=)
层次化索引
| data.unstack() | 进行数据重塑 |
| data.stack() | unstack的逆运算 |
重排分级排序
| frame.swaplevel('key1','key2') | 接受两个级别编号或名称,并返回一个互换了级别的新对象(但数据不发生变化) |
| frame.sortlevel() | 根据单个级别中的值对数据进行排序(稳定的) |
根据级别汇总统计
| frame.sum(level = '') | 根据行或列上的级别进行求和 |
使用DataFrame的列
| frame.set_index() | 将一个或多个列转换为行索引,并创建一个新的DataFrame |
其他有关Pandas的话题
整数索引
| 如果有一个含0/1/2的索引,但是很难判断用户是想基于标签或位置的索引 |
| ix | 面向标签的索引器 |
| iget_value/irow/icol | 不考虑索引类型/基于位置的索引 |
相关文章:
-
2021-04-12
-
2021-07-09
-
2022-01-08
-
2021-06-27
-
2021-07-09
-
2021-06-24
-
2022-01-22
-
2021-05-16