小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Pandas基礎:在Pandas數(shù)據(jù)框架中移動列

 hercules028 2022-04-24

excelperfect

標簽:pandas,Python

有時候,我們需要在pandas數(shù)據(jù)框架內移動一列,shift()方法提供了一種方便的方法來實現(xiàn)。

為了演示起見,我們創(chuàng)建兩個數(shù)據(jù)框架:df包含字母索引,df2包含日期時間索引。

import pandas as pd

df = pd.DataFrame({'a':range(0,5),

                   'b':range(5,10)})

df2 = pd.DataFrame({'a':range(0,5),

                    'b':range(5,10)},

                   index=pd.date_range('2020-01-01','2020-01-05'))

pandas Shift()語法

DataFrame.shift(periods = 1,

                freq = None,

                axis = 0,

                fill_value)

注意,pandas.Series對象還有一個類似的方法shift(),該方法允許為Series移動數(shù)據(jù)。

pandas數(shù)據(jù)框架中向上/向下移動列

要向下移動列,將periods設置為正數(shù)。要向上移動列,將其設置為負數(shù)。

注意,只有數(shù)據(jù)發(fā)生了移位,而索引保持不變。數(shù)據(jù)移動了,現(xiàn)在有兩個空行,由np.nan值自動填充。

圖片

圖片

對時間序列數(shù)據(jù)移動列

當處理時間序列數(shù)據(jù)時,可以通過包含freq參數(shù)來改變一切,包括索引和數(shù)據(jù)。注意下面的例子,索引隨著所有數(shù)據(jù)向下(向前)移動了2天。目前,如果想使用freq參數(shù),索引必須是datetime類型的數(shù)據(jù),否則pandas將引發(fā)NotImplementedError

圖片

向左或向右移動列

可以使用axis參數(shù)來控制移動的方向。默認情況下,axis=0,這意味著移動行(向上或向下);設置axis=1將使列向左或向右移動。

在下面的示例中,將所有數(shù)據(jù)向右移動了1列。因此,第一列變?yōu)榭眨?/span>np.nan自動填充。

圖片

如果不需要NaN值,還可以使用fill_value參數(shù)填充空行/空列。

圖片

Pandas.Series shift()方法

如前所述,Series類還有一個類似的shift()方法,其工作方式完全相同,只是它對一個系列(即單個列)而不是整個數(shù)據(jù)框架進行操作。當然,由此產生的數(shù)據(jù)是一個pandasSeries。

圖片

注:本文學習整理自pythoninoffice.com。

歡迎在下面留言,完善本文內容,讓更多的人學到更完美的知識。

歡迎到知識星球:完美Excel社群,進行技術交流和提問,獲取更多電子資料,并通過社群加入專門的微信討論群,更方便交流。

    本站是提供個人知識管理的網(wǎng)絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯(lián)系方式、誘導購買等信息,謹防詐騙。如發(fā)現(xiàn)有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多