Python数据分析6——数据规整
生活随笔
收集整理的這篇文章主要介紹了
Python数据分析6——数据规整
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
索引與分層索引
索引
分層索引
分層索引的切片
數據重塑
數據合并
merge()
join()?
concat()
數據的分組與聚合
自定義聚合函數
數據透視表
索引與分層索引
索引
- 查看索引:df.index
- 指定索引:df.index = [,] 個數必須一致
- 重置索引:df.reset_index(drop=True) 無需個數一致
- 指定某一列作為index:df.set_index("M",drop=False)
- 返回index的唯一值:df.set_index("M").index.unique()
- df.reset_index():將分層索引層級移動到列中
分層索引
分層索引是Pandas一個重要的特性,允許在一個軸上擁有多個所以層級。
分層索引的切片
?
數據重塑
數據合并
數據合并也就是說將多個數據集拼接在一起,但是合并的方式主要分為:pandas.merge,pandas.concat,df.join。以下,我們來詳細的介紹。
merge()
基于列進行關聯,是最常用的一種方法。函數為
pd.merge(left, right, how='inner', on=None, left_on=None, right_on=None,left_index=False, right_index=False)- left:拼接左側的DataFrame對象;
- right:拼接右側的DataFrame對象;
- on:待關聯的同名列名,存在于左右兩個DataFrame對象中;
- how:連接方式,inner(默認),其他可選:outer、left、right ;
- left_on:左側DataFarme中用作連接鍵的列名;
- right_on:右側DataFarme中用作連接鍵的列;
- left_index:將左側的行索引用作其連接鍵;
- right_index:將右側的行索引用作其連接鍵;
join()?
join方法是基于index連接dataframe。join連接方法有內連接,外連接,左連接和右連接,與merge一致。
concat()
另外一種常用的數據整合方法是concat,即我希望按照某種方式把兩個規整的數據集進行拼接。拼接原型函數非常簡單:
pd.concat(objs, axis=0, join='outer', keys=None)- objs:帶拼接的數據集,通常以列表的形式傳入;
- join:可選inner、outer,含義同merge函數;
- keys:定義新的分組索引,用來區分傳入的數據集;
數據的分組與聚合
數據包含在Series、DataFrame數據結構中,可以根據一個或多個鍵分離到各個組中。分組操作之后,一個函數就可以應用到各個組中,產生新的值。如下圖則是簡單的分組聚合過程。
- df.groupby('key')? ? ? ? ? ? ? ? ? ? ? ? ? ?key為指定分組的列
聚合函數如下:
自定義聚合函數
實現步驟:
- 自定義函數
- 分組后通過apply,agg或者aggregate進行聚合
數據透視表
- 一種可以對數據動態排布并且分類匯總的表格格式
- pivot_table() 方法
- 不常用
總結
以上是生活随笔為你收集整理的Python数据分析6——数据规整的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 批量读取和写出excel数据#R语言#
- 下一篇: python seo编程_gogo闯SE