Python之資料規整化 清理 轉換 合併 重塑

2021-07-09 08:22:25 字數 1484 閱讀 5606

1. 合併資料集

pandas.merge可根據乙個或者多個不同dataframe中的行連線起來。

pandas.concat可以沿著一條軸將多個物件堆疊到一起。

例項方法combine_first可以將重複資料編接在一起,用乙個物件中的值填充另乙個物件中的缺失值。

2. 資料風格的dataframe合併操作
2.1 資料集的合併(merge)或連線(jion)運算時通過乙個或多個鍵將行鏈結起來的。如果沒有指定,merge就會將重疊列的列名當做鍵,最好顯示指定一下。

pd.merge(df1,df2,on='key')

2.2 預設情況下,merge做的是"inner"連線,結果中的鍵是交集。其他方式有「left」、「right」、「outer」。外連線求取的是鍵的並集,組合了左連線和右連線。

2.3 都對的的連線是行的笛卡爾積。

2.4 merge的suffixes選項,用於指定附加到左右兩個dataframe物件的重疊列名上的字串。

3. 索引上的合併
dataframe有merge和join索引合併。
4. 重塑和軸向旋轉
有許多用於重新排列**型資料的基礎運算。這些函式也稱作重塑(reshape)或軸向旋轉(pivot)運算。

4.1 重塑層次化索引

層次化索引為dataframe資料的重排任務提供了良好的一致性方式。主要兩種功能:

stack:將資料的列「旋轉」為行。

unstack:將資料的行「旋轉」為列。

5. 資料轉換
5.1 利用函式或對映進行資料轉換

series的map方法可以接受乙個函式或含有對映關係的字典型物件。

5.2 替換值

replace可以由乙個帶替換值組成的列表以及乙個替換值

data.replace([-999,-1000],np.nan)

5.3 重新命名軸索引

軸標籤也可通函式或對映進行轉換,從而得到乙個新物件軸還可以被就地修改,而無需新建乙個資料結構。

5.4 離散化和面元劃分

為了便於分析,連續資料常常被分散化或拆分成「面元」(bin)。

pandas的cut函式

5.5 檢測和過濾異常值

異常值的過濾或變換運算很大程度上其實就是陣列的運算。

6. 字串操作
6.1 字串物件方法

split以逗號分割的字串可以拆分成數段。

字串「::」的jion方法以冒號分隔符的形式連線起來。

6.2 正規表示式

描述乙個或多個空白符的regex是\s+

建立可重用的regex物件:

regex = re.complie('\s+')

regex.split(text)

6.3 pandas中向量化的字串函式

實現向量化的元素獲取操作:要麼使用str.get,要麼使用str屬性上使用索引。

利用Python資料分析 資料規整化(四

移除重複項 data dataframe data data.duplicated 返回乙個布林型別的series來表示各行是否為重複行 duplicated adj.複製出的,複寫書的 data.drop duplicates 丟棄掉重複的行 data v1 range 7 data.duplic...

第三章 python資料規整化

1 去重 2 缺失值處理 3 清洗字元型資料的空格 4 字段抽取 匯入pandas包中的read csv函式 from pandas import read csv df read csv 路徑 找出行重複的位置 dindex df.duplicated 也可根據某些列,找出重複的位置 dindex...

mysql 層次化 資料規整化之重塑和軸轉向

資料處理過程中,經常需要將二維資料轉換為一維,或者將一維轉換為二維報表的形式,在excel中需要借助資料透視表進行一維轉二維,在pandas中有許多重塑 reshape 或者軸向旋轉 pivot 運算。重塑層次化索引 層次索引化為dataframe資料的重排任務提供了一種具有良好一致性的方式 sta...