日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程语言 > python >内容正文

python

python与数据处理_python数据处理:数据合并和Reshaping

發(fā)布時(shí)間:2025/3/15 python 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python与数据处理_python数据处理:数据合并和Reshaping 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

本文資料來自于:

Python for Data Analysis: Chapter5, 7, 12

文中實(shí)例查看地址:http://nbviewer.jupyter.org/github/RZAmber/for_blog/blob/master/learn_numpy.ipynb

1. Combing and Merging Data Sets

在pandas中,數(shù)據(jù)可以通過三種方式進(jìn)行合并。

1.1 panda.merge

通過一個(gè)或者多個(gè)key連接兩個(gè)df的row。這根跟sql中的join運(yùn)算類似。等復(fù)習(xí)完sql之后再來補(bǔ)充

1.2 pandas.concat

numpy有concatenate函數(shù)來連接兩個(gè)ndarray,pandas中用concat函數(shù),沿著軸粘連或者堆積對(duì)象

默認(rèn)按照行(垂直方向)來合并,axis=1為按照列

參數(shù)說明:join:選擇合并類型,inner outer等

join_axes: 規(guī)定合并的軸

keys: 建立分層索引

b[:-2]

拼接有overlapping data的對(duì)象,用其中一個(gè)boject的值補(bǔ)充另外一個(gè)object中的missing data

這是一個(gè)if else的關(guān)系,類似numpy.where函數(shù)。

b[:-2].combine_first(a[2:]): 解釋就是如果(if) pd.isnull(b[:-2])中為Ture,就用a[2:]中的值補(bǔ)充,否則(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要先了解分層索引,因?yàn)檫@兩者經(jīng)常一起使用。

分層索引可以讓一個(gè)軸(axis)擁有多個(gè)index level。It provides a way for you to work with higher dimensional data in a lower dmensional form.

調(diào)取index參數(shù)的時(shí)候,名稱是MultiIndex,通過這個(gè)也可以確定這個(gè)是分層索引

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. 默認(rèn)最底層進(jìn)行unstack或者stack。如果換其他level的話可以輸入level number或者name

2. 默認(rèn)stacking篩除missing data,加入stack(dropna=False)就可以了

3 advanced numpy

如上文所說,numpy有concatenate函數(shù)

numpy.concatenate takes a swquencc (tuple, list, etc) of array and joins them together in order along the input axis.

這經(jīng)常跟stack系列函數(shù)放在一起使用來進(jìn)行data的重組或者調(diào)用,但是我們常用panda.concat函數(shù),跟numpy.concatenate一個(gè)意思

而且下列函數(shù)比numpy.concatenate更加簡(jiǎn)便

下面是一個(gè)函數(shù)列表:

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.

總結(jié)

以上是生活随笔為你收集整理的python与数据处理_python数据处理:数据合并和Reshaping的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。