日本综合一区二区|亚洲中文天堂综合|日韩欧美自拍一区|男女精品天堂一区|欧美自拍第6页亚洲成人精品一区|亚洲黄色天堂一区二区成人|超碰91偷拍第一页|日韩av夜夜嗨中文字幕|久久蜜综合视频官网|精美人妻一区二区三区

RELATEED CONSULTING
相關咨詢
選擇下列產品馬上在線溝通
服務時間:8:30-17:00
你可能遇到了下面的問題
關閉右側工具欄

新聞中心

這里有您想知道的互聯(lián)網營銷解決方案
python++差分函數 python一階差分代碼

Python精講:Python中集合的交集并集差集和對稱差集運算方法詳解

歡迎你來到站長在線的站長學堂學習Python知識,本文學習的是《Python中集合的交集、并集、差集和對稱差集運算方法詳解》。主要講的是集合運算的相關的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。

創(chuàng)新互聯(lián)建站是一家專注于做網站、網站制作與策劃設計,壽寧網站建設哪家好?創(chuàng)新互聯(lián)建站做網站,專注于網站建設十年,網設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:壽寧等地區(qū)。壽寧做網站價格咨詢:028-86922220

在Python中,集合最常用的操作就是進行交集、并集、差集和對稱差集的運算。

要想學習集合的交集、并集、差集和對稱差集運算方法,首先我們來了解這些名詞的含義:

設A、B兩個集合,由所有屬于集合A且屬于集合B的元素所組成的集合,叫做集合A與集合B的交集。在Python中,進行交集運算時使用“”符號。

給定兩個集合A、B,把他們所有的元素合并在一起組成的集合,叫做集合A與集合B的并集。在Python中,進行并集運算時使用“|”符號。

設A,B是兩個集合,則所有屬于A且不屬于B的元素構成的集合,叫做集合A與集合B的差集。在Python中,進行差集運算時使用“-”符號。

對稱差集也稱為對稱差分或者補集,設A,B是兩個集合,所有不相同的集合,叫做集合A與集合B的對稱差集(對稱差分或者補集)。在Python中,進行對稱差集運算時使用“^”符號。

上面都是概念性的描述,下面站長在線來舉實際的場景來對交集、并集、差集和對稱差集運算方法進行深入淺出的解讀。

場景模擬:某高中三年級,文科班高考的科目是語文、數學、英語、政治、 歷史 和地理。理科班高考的科目是語文、數學、英語、物理、化學和生物。

設定集合A為文科班高考的科目,集合B為理科班高考的科目。

A = {'語文','數學','英語','政治',' 歷史 ','地理'}

B = {'語文','數學','英語','物理','化學','生物'}

我們使用集合的交集運算的時候可以采用兩種方式,一種是使用“”運算符進行操作,另一種是使用 intersection() 方法來實現。

運行結果:

運行結果:

同理集合B和集合A的交集也是一樣。我這里就不重復了,自己去體驗一下。

集合的并集運算也有兩種方式,一種是使用“|”運算符進行操作,另一種是使用union()方法來實現。

運行結果如下:

運行結果為:

同理集合B和集合A的并集也是一樣。自己去體驗一下吧!

集合的差集運算也有兩種方式,一種是使用“-”運算符進行操作,另一種是使用difference()方法來實現。

運行結果為:

上面是集合A和集合B的差集,但是集合B和集合A的差集就不是一樣的了哦!

運行結果為:

從上面可以看出,集合A和集合B的差集 與 集合B和集合A的差集是不一樣的,(A - B)是A中存在的部分,(B - A)是B中存在的部分。

運行結果:

同理,使用difference()方法進行集合B和集合A的差集也是不同的

運行結果:

集合的差集運算也有兩種方式,一種是使用“^”運算符進行操作,另一種是使用symmetric_difference()方法來實現。

運行結果為:

運行結果為:

同樣的,集合B與集合A的對稱差集也是一樣,自己去體驗一下。

我們對集合的交集、并集、差集和對稱差集運算方法全部詳細的講解了一遍,通過運行結果,我們得出結論:

集合中進行交集、并集、對稱差集進行運算的時候,集合A與集合B,位置替換的時候,結果相同。

集合中進行差集運算的時候,集合A與集合B,位置替換的時候,結果不同,為前面那個集合獨立存在的部分。

到此為止,本節(jié)課的內容《Python中集合的交集、并集、差集和對稱差集運算方法詳解》就完全講完了,主要講的集合運算的相關的概念,及運算方法,包括:集合的交集、集合的并集、集合的差集、集合的對稱差集、集合的交集運算方法、集合的并集運算方法、集合的差集運算方法、集合的對稱差集運算方法。

Python pandas用法

在Python中,pandas是基于NumPy數組構建的,使數據預處理、清洗、分析工作變得更快更簡單。pandas是專門為處理表格和混雜數據設計的,而NumPy更適合處理統(tǒng)一的數值數組數據。

使用下面格式約定,引入pandas包:

pandas有兩個主要數據結構:Series和DataFrame。

Series是一種類似于一維數組的對象,它由 一組數據 (各種NumPy數據類型)以及一組與之相關的 數據標簽(即索引) 組成,即index和values兩部分,可以通過索引的方式選取Series中的單個或一組值。

pd.Series(list,index=[ ]) ,第二個參數是Series中數據的索引,可以省略。

Series類型索引、切片、運算的操作類似于ndarray,同樣的類似Python字典類型的操作,包括保留字in操作、使用.get()方法。

Series和ndarray之間的主要區(qū)別在于Series之間的操作會根據索引自動對齊數據。

DataFrame是一個表格型的數據類型,每列值類型可以不同,是最常用的pandas對象。DataFrame既有行索引也有列索引,它可以被看做由Series組成的字典(共用同一個索引)。DataFrame中的數據是以一個或多個二維塊存放的(而不是列表、字典或別的一維數據結構)。

pd.DataFrame(data,columns = [ ],index = [ ]) :columns和index為指定的列、行索引,并按照順序排列。

如果創(chuàng)建時指定了columns和index索引,則按照索引順序排列,并且如果傳入的列在數據中找不到,就會在結果中產生缺失值:

數據索引 :Series和DataFrame的索引是Index類型,Index對象是不可修改,可通過索引值或索引標簽獲取目標數據,也可通過索引使序列或數據框的計算、操作實現自動化對齊。索引類型index的常用方法:

重新索引 :能夠改變、重排Series和DataFrame索引,會創(chuàng)建一個新對象,如果某個索引值當前不存在,就引入缺失值。

df.reindex(index, columns ,fill_value, method, limit, copy ) :index/columns為新的行列自定義索引;fill_value為用于填充缺失位置的值;method為填充方法,ffill當前值向前填充,bfill向后填充;limit為最大填充量;copy 默認True,生成新的對象,False時,新舊相等不復制。

刪除指定索引 :默認返回的是一個新對象。

.drop() :能夠刪除Series和DataFrame指定行或列索引。

刪除一行或者一列時,用單引號指定索引,刪除多行時用列表指定索引。

如果刪除的是列索引,需要增加axis=1或axis='columns'作為參數。

增加inplace=True作為參數,可以就地修改對象,不會返回新的對象。

在pandas中,有多個方法可以選取和重新組合數據。對于DataFrame,表5-4進行了總結

適用于Series和DataFrame的基本統(tǒng)計分析函數 :傳入axis='columns'或axis=1將會按行進行運算。

.describe() :針對各列的多個統(tǒng)計匯總,用統(tǒng)計學指標快速描述數據的概要。

.sum() :計算各列數據的和

.count() :非NaN值的數量

.mean( )/.median() :計算數據的算術平均值、算術中位數

.var()/.std() :計算數據的方差、標準差

.corr()/.cov() :計算相關系數矩陣、協(xié)方差矩陣,是通過參數對計算出來的。Series的corr方法用于計算兩個Series中重疊的、非NA的、按索引對齊的值的相關系數。DataFrame的corr和cov方法將以DataFrame的形式分別返回完整的相關系數或協(xié)方差矩陣。

.corrwith() :利用DataFrame的corrwith方法,可以計算其列或行跟另一個Series或DataFrame之間的相關系數。傳入一個Series將會返回一個相關系數值Series(針對各列進行計算),傳入一個DataFrame則會計算按列名配對的相關系數。

.min()/.max() :計算數據的最小值、最大值

.diff() :計算一階差分,對時間序列很有效

.mode() :計算眾數,返回頻數最高的那(幾)個

.mean() :計算均值

.quantile() :計算分位數(0到1)

.isin() :用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中數據的子集

適用于Series的基本統(tǒng)計分析函數,DataFrame[列名]返回的是一個Series類型。

.unique() :返回一個Series中的唯一值組成的數組。

.value_counts() :計算一個Series中各值出現的頻率。

.argmin()/.argmax() :計算數據最大值、最小值所在位置的索引位置(自動索引)

.idxmin()/.idxmax() :計算數據最大值、最小值所在位置的索引(自定義索引)

pandas提供了一些用于將表格型數據讀取為DataFrame對象的函數。下表對它們進行了總結,其中read_csv()、read_table()、to_csv()是用得最多的。

在數據分析和建模的過程中,相當多的時間要用在數據準備上:加載、清理、轉換以及重塑。

在許多數據分析工作中,缺失數據是經常發(fā)生的。對于數值數據,pandas使用浮點值NaN(np.nan)表示缺失數據,也可將缺失值表示為NA(Python內置的None值)。

替換值

.replace(old, new) :用新的數據替換老的數據,如果希望一次性替換多個值,old和new可以是列表。默認會返回一個新的對象,傳入inplace=True可以對現有對象進行就地修改。

刪除重復數據

利用函數或字典進行數據轉換

df.head():查詢數據的前五行

df.tail():查詢數據的末尾5行

pandas.cut()

pandas.qcut() 基于分位數的離散化函數。基于秩或基于樣本分位數將變量離散化為等大小桶。

pandas.date_range() 返回一個時間索引

df.apply() 沿相應軸應用函數

Series.value_counts() 返回不同數據的計數值

df.aggregate()

df.reset_index() 重新設置index,參數drop = True時會丟棄原來的索引,設置新的從0開始的索引。常與groupby()一起用

numpy.zeros()

如何用Python對數據進行差分

處理過與時間有關的數據的人都知道,差分變化經常用來使得結果更加直觀。在這篇文章里將會教你如何用Python來實現這一目的,讀完這篇文章,你將會掌握以下技能:

1、知道什么是差分變換以及滯后差分和差分階數的設置

2、如何手動計算差分

3、怎樣使用Pandas內置的差分函數

所以,讓我們趕緊開始吧!

為什么要對時間序列數據進行差分?

首先來看下為什么要對數據進行差分變化,差分變化可以消除數據對時間的依賴性,也就是降低時間對數據的影響,這些影響通常包括數據的變化趨勢以及數據周期性變化的規(guī)律。進行差分操作時,一般用現在的觀測值減去上個時刻的值就得到差分結果,就是這么簡單,按照這種定義可以計算一系列的差分變換。

滯后差分

連續(xù)觀測值之間的差分變換叫做一階滯后差分。滯后差分的步長需要根據數據的時間結構做調整,例如對于周期性變化的數據,這個時間步長就是數據變化的周期。

差分階數

在進行一次差分之后,時間項的作用并沒有完全去掉,將會繼續(xù)對差分結果進行差分變化,直到完全消除時間項的影響因素為止,這個過程中進行的差分操作次數就稱為差分階數。

洗發(fā)水銷售數據

這份數據是三年來每月洗發(fā)水的銷售情況,總共有36個數據記錄,原始數據來自Makridakis, Wheelwright和 Hyndman (1998).,可以從下面的地址下到數據:

下面的代碼將會導入數據并將結果畫成折線圖,如下所示:

手動差分

在這一部分中,我們將會自定義一個函數來實現差分變換,這個函數將會對提供的數據進行遍歷并根據指定的時間間隔進行差分變換。具體代碼如下:

從上面的代碼中可以看到該函數將會根據指定的時間間隔來對數據進行變換,一般來說,通常會計算間隔一個數據的差分,這樣的結果比較可靠。當然,我們也可以將上面的函數進行一定的改進,加入差分階數的指定。

下面將這函數應用到上面洗發(fā)水銷售的數據中去,運行之后繪出下面的圖,具體如下:

自動差分

Pandas庫里提供了一個函數可以自動計算數據的差分,這個函數是diff(),輸入的數據是“series'或”DataFrame'類型的,像前面自定義函數那樣,我們也可以指定差分的時間間隔,不過在這里這個參數叫做周期。

下面的例子是用Pandas內置函數來計算差分的,數據類型是series的,使用Pandas內置函數的好處是代碼工作量減少了不少,而且繪出的圖中包含更詳細的信息,具體效果如下:

總結

讀完本文想必你已經學會用python來實現對數據的差分了,尤其是對差分的概念,手動差分,以及使用Pandas內置函數進行差分都有所了解了。如果有什么好的想法歡迎在評論欄里留下。


網頁標題:python++差分函數 python一階差分代碼
本文地址:http://www.dlmjj.cn/article/doeehjd.html