python与数据处理_python数据处理:数据合并和Reshaping
本文資料來自于:
Python for Data Analysis: Chapter5, 7, 12
文中實例查看地址:http://nbviewer.jupyter.org/github/RZAmber/for_blog/blob/master/learn_numpy.ipynb
1. Combing and Merging Data Sets
在pandas中,數據可以通過三種方式進行合并。
1.1 panda.merge
通過一個或者多個key連接兩個df的row。這根跟sql中的join運算類似。等復習完sql之后再來補充
1.2 pandas.concat
numpy有concatenate函數來連接兩個ndarray,pandas中用concat函數,沿著軸粘連或者堆積對象
默認按照行(垂直方向)來合并,axis=1為按照列
參數說明:join:選擇合并類型,inner outer等
join_axes: 規定合并的軸
keys: 建立分層索引
b[:-2]
拼接有overlapping data的對象,用其中一個boject的值補充另外一個object中的missing data
這是一個if else的關系,類似numpy.where函數。
b[:-2].combine_first(a[2:]): 解釋就是如果(if) pd.isnull(b[:-2])中為Ture,就用a[2:]中的值補充,否則(else)還是使用b[:-2]的值
a[2:].combine_first(b[:-2]): 就是相反的,所以可以看到a[2:]中d的值為NaN,所以用了b[:-2]中d的值2.0。
2. Reshaping
2.1 Hierarchical indexing
了解reshaping要先了解分層索引,因為這兩者經常一起使用。
分層索引可以讓一個軸(axis)擁有多個index level。It provides a way for you to work with higher dimensional data in a lower dmensional form.
調取index參數的時候,名稱是MultiIndex,通過這個也可以確定這個是分層索引
Hierachical indexing plays a critical role in reshaping data and group-based operations like forming a pivot table.
2.2 reshaping:用來rearrange tablular data
2.2.1 reshaping in hierarchical indexing
a: stackrotetes from the columns in the data to rows
b: unstackpivot from the rows into the col
注意:1. 默認最底層進行unstack或者stack。如果換其他level的話可以輸入level number或者name
2. 默認stacking篩除missing data,加入stack(dropna=False)就可以了
3 advanced numpy
如上文所說,numpy有concatenate函數
numpy.concatenate takes a swquencc (tuple, list, etc) of array and joins them together in order along the input axis.
這經常跟stack系列函數放在一起使用來進行data的重組或者調用,但是我們常用panda.concat函數,跟numpy.concatenate一個意思
而且下列函數比numpy.concatenate更加簡便
下面是一個函數列表:
stack() Join a sequence of arrays along a new axis.
hstack() Stack arrays in sequence horizontally (column wise).
vstack() Stack arrays in sequence vertically (row wise).
dstack() Stack arrays in sequence depth wise (along third dimension).
concatenate() Join a sequence of arrays along an existing axis.
vsplit () Split array into a list of multiple sub-arrays vertically.
總結
以上是生活随笔為你收集整理的python与数据处理_python数据处理:数据合并和Reshaping的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: opc读取ab的plc数据_C#读写 A
- 下一篇: linux把root用户删了,linux