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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > c/c++ >内容正文

c/c++

c++没有终结符的多行输入如何停止_如何使用iloc和loc 对Pandas Dataframe进行索引和切片...

發布時間:2024/8/23 c/c++ 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 c++没有终结符的多行输入如何停止_如何使用iloc和loc 对Pandas Dataframe进行索引和切片... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

在這篇文章中,我們將使用iloc和loc來處理數據。更具體地說,我們將通過iloc和loc例子來學習切片和索引。

一旦我們將一個數據集加載為Pandas dataframe,我們通常希望根據某些條件開始訪問該數據的特定部分。例如,如果我們的數據集包含比較不同實驗組的實驗結果,我們可能需要分別計算每個實驗組的描述性統計。

  • 更多有關對Pandas dataframes進行分組的內容

  • 如何在Python中進行描述性統計

根據某些標準選擇數據的特定行和列的過程通常稱為切片。

Pandas Dataframe

在我們學習如何使用loc和iloc之前,我們最好先了解一下Pandas dataframe對象是如何工作的。對于本索引和切片教程的特定目的,我們最好知道dataframe中的每個行和列都有一個數字——一個索引。

這種結構是帶有數字索引的行和列結構,這意味著我們可以使用行號和列號來處理數據。這在我們準備使用Pandas loc和iloc方法的時候是非常有用的。

  • 請參閱博文《使用Pandas和pyjanitor——了解一些簡單的Python數據清理方法》。

Data

在下面的iloc和loc例子中,我們將使用兩個數據集。這些數據集,在許多其他的RDataset中,可以在這里找到,但是下面的代碼將把它們加載到Pandas dataframe中:

如果您有興趣學習更多有關Pandas數據處理的知識,請查看以下文章:

  • 如何將CSV文件讀入Pandas

  • 如何將Excel文件讀入Pandas

  • 將SPSS文件讀入Pandas?

  • 使用Python和Pandas處理JSON文件

loc 和 iloc之間有什么不同?

在繼續使用Pandas iloc和Pandas loc之前,我們將回答有關loc和iloc之間的區別的問題。

首先,.loc是一個基于標簽的方法,而.iloc是一個基于整數的方法。這意味著當我們對dataframe進行切片時,loc將考慮索引的名稱或標簽。

Pandas loc 示例鏈接

例如,如果“case”在一個dataframe(例如,df)的索引中,那么df.loc['case']將導致第三行被選中。注意,在下面的loc和iloc例子中,我們將使用數據集中的第一列作為索引(參見第一個代碼塊)。

另一方面,Pandas .iloc會根據索引的位置進行切片。與.loc不同,.iloc的行為類似于常規的Python切片。也就是說,我們只需要指定位置索引數字,就會得到我們想要的切片。

例如,df.iloc[2]會為我們提供dataframe的第三行。這是因為,就像在Python中一樣,.iloc是基于0位置的,也就是說,它從0開始。我們將在下面的文章中學習如何使用loc和iloc。

iloc在Pandas中能做什么?

如前所述,Pandas iloc主要基于整數位置。也就是說,可以使用0到長度-1來對一個dataframe建立索引,無論它是行索引還是列索引。

此外,正如我們將在后面的Pandas iloc 例子中所看到的,該方法也可以與一個布爾數組一起使用。

在這個Pandas iloc教程中,我們將使用以下輸入方法:

  • 一個整數,例如2

  • 一個整數列表,例如 [7, 2, 0]

  • 一個帶有整數的切片對象,例如0:7, 如上圖所示

  • 一個布爾型數組。

如何使用Pandas iloc

現在您可能想知道“如何使用iloc?”,當然,我們會回答這個問題。以最簡單的形式,我們只需在括號中鍵入一個整數。

正如您在上面的Pandas iloc例子中所看到的,我們在iloc方法之后鍵入了一組方括號。

此外,我們還添加了一個整數(0)作為索引值,以指明我們想要獲取我們的dataframe的第一行。注意,在使用.iloc時,一定要知道方括號內索引的順序顯然很重要。

第一個索引號將是我們要檢索的行。如果我們要檢索一個特定的列,或者某些特定的列,使用iloc,我們會輸入第二個索引(或多個索引)。但是,這是可選的,并且沒有第二個索引時,iloc將默認檢索所有列。

如前所述,Pandas iloc語法是: DataFrame.iloc[,]。

這可能會讓R統計編程環境的用戶感到困惑。要進行迭代,我們可以使用Pandas中的iloc方法來以行和列在dataframe中出現的順序按數字選擇它們。

>>> 今日簽到口令:ipd5 <<<

Pandas iloc 例子

在下一節中,我們將通過查看如何使用iloc的不同例子來繼續這個Pandas 索引和切片教程。當然,我們已經從最基本的方法開始了;即選擇單個行:

索引一個Pandas dataframe的最后一行

在下一個例子中,我們將繼續使用一個整數來索引dataframe。然而,如果我們想要檢索一個Pandas dataframe的最后一行,我們使用“-1”:

當我們使用iloc時,我們還可以輸入一個只有一個索引整數的列表。這將會索引一行,但輸出將不同于上面的例子:

使用iloc選擇多行

當然,我們也可以使用iloc從一個pandas dataframe中選擇很多行。例如,如果我們向列表中添加更多的索引整數,就像上面的例子一樣,我們就可以選擇很多行。

在Pandas中使用iloc對行進行切片

在下一個Pandas iloc例子中,我們將學習有關切片的知識。注意,稍后我們將進一步熟悉使用切片字符“:”。要選擇第11行到第15行,我們只需輸入以下代碼:

使用Pandas iloc選擇列

如前所述,當然,在使用iloc方法中的第二個參數時,我們也可以選擇或切片列。在下一個iloc例子中,我們可能希望只檢索dataframe中的第一列,即索引位置為0的列。

為此,我們將在使用iloc時在括號內的第二個位置使用一個整型索引值。注意,第二個位置的整數索引指定了我們要檢索的列。那行是怎樣呢?

注意,當我們想使用iloc選擇所有行和一列(或多個列)時,我們需要使用“:”字符。

在上面的 Pandas iloc例子中,我們在括號內的第一個位置使用了“:”字符。這表明我們想要檢索所有的行。提醒一下,[]內的第一個索引位置用來指定行,并且我們使用了“:”字符,因為我們希望從一個Pandas dataframe獲取所有行。

在下一個關于如何使用Pandas iloc的例子中,我們將獲取一個一些列和所有行的切片。這可以用與上面類似的方法來完成。然而,我們使用了一個Python切片來獲取所有行和前6列,而不是使用一個整數:

使用iloc選擇一個特定的單元格

在Pandas iloc教程的這一節中,我們將學習如何選擇一個特定的單元格。

當然,這非常簡單,我們只需要對我們希望從dataframe中獲取的行和列使用一個整型索引值即可。例如,如果我們要選擇第0行和第0列中的數據,我們只需鍵入df1.iloc[0, 0]。

當然,我們也可以選擇多行和/或多列。為此,我們只需添加一個包含我們希望iloc為我們選擇的整數索引的列表。

例如,如果我們想要選擇第4行和第2、3、4列中的數據,我們只需使用以下代碼:

檢索單元格的子集

在下一個iloc例子中,我們將從來自dataframe的單元格中獲取一個子集。

要實現這一點,我們需要組合使用iloc獲取一個列切片和一個行切片:

使用布爾掩碼選擇列

在最后一個例子中,我們將使用一個布爾掩碼來選擇列。要這樣做,我們當然需要知道有多少列,以及我們想要選擇哪些列。

如何使用Pandas loc

在本節中,我們將介紹另一個Pandas方法,即用于從dataframe中選擇數據的loc。

何時使用loc?

記住,iloc使用位置引用作為參數輸入,而loc使用索引作為參數。由于loc接受索引,我們可以傳遞字符串(例如列名)作為一個參數,而如果我們在iloc中使用字符串時,它會拋出一個錯誤。因此,什么時候使用Pandas loc呢?答案就是當我們知道了索引名時。

在本loc教程中,我們將使用以下輸入:

  • 單個標簽,例如2或' b '。

    值得注意的是,Pandas會將2解釋為一個索引的標簽,而不是索引上的整數位置(與iloc相反)

  • 一個標簽列表,例如[‘a’, ‘b’, c’]

  • 一個帶有標簽的切片對象,例如‘shortname’:’SASname’。重要的是,當涉及到切片時,當我們使用loc時,開始和停止位置都包括在內

使用Pandas loc選擇一行

在第一個Pandas loc例子中,我們將從索引為1的行中選擇數據。

注意,在上面的例子中,第一行的名稱為“1”。也就是說,這個“1”不是索引整數,而是該行的名字。

Pandas loc的行為方式與iloc相同,我們單個行作為series進行檢索。與使用Pandas iloc一樣,我們可以更改輸出,以便以一個 dataframe來獲取單個行。我們通過在一個列表中放入行名來做到這一點:

使用loc對行進行切片

在下一個代碼例子中,我們將使用行名稱來獲取一個行切片。

我們還可以將一個索引列表傳遞給它,以選擇所需的索引。

使用loc通過列名進行選擇

與Pandas iloc不同,loc則進一步采用列名作為列參數。這意味著我們可以給它傳遞一個列名來從該列中選擇數據。

在下一個loc例子中,我們將從' SASname '列中選擇所有數據。

當然,另一個選項是在使用loc時將多個列名傳入一個列表中。在下一個例子中,我們將從“SASname”和“longname”列中選擇數據,其中行名是從1到5。

在Pandas中使用loc進行切片

在本節中,我們將會看到如何使用loc對一個Pandas dataframe進行切片。記住,“:”字符是在切片時使用的。與iloc一樣,我們也可以進行切片,只不過這里我們可以使用列名和行名(如下面的例子所示)。

在下面的loc例子中,我們再次使用了第一個dataframe(即df1),對前5行切片,并獲取從“Film”列到“EA1”列的所有列。

Pandas iloc 和條件

很多時候,我們想要通過使用布爾數組來索引一個Pandas dataframe。也就是說,我們可能希望根據某些條件來選擇數據。當然,這很容易用Pandas loc來實現。我們只需要向.loc方法傳遞一個包含真/假值的數組或Seris。

例如,如果我們想要選擇Study列中值為“flat”的所有行,我們將按照以下步驟來創建一個Pandas Series,其中的dataframe中的每一行都有一個真值,其中存在“flat”。

使用多條件Pandas iloc選擇行

此外,有時我們可能希望基于多個條件進行選擇。例如,如果我們想要選擇Study列是“flat”并且neur列大于18的所有行,我們可以按下一個例子來做:

與前面一樣,我們可以使用第二個參數從dataframe中選擇特定的列。請記住,在使用Pandas loc時,列是通過名稱被loc索引器引用的,我們可以使用一個單個字符串、一個列的列表或一個切片“:”操作。在下一個例子中,我們將選擇從EA1到NA2的列:

使用 .loc設置dataframe中的值

在本loc和iloc教程的最后一節中,我們將學習如何使用loc對dataframe設置值。

對一個dataframe設置值是非常簡單的,我們需要做的只是稍微更改一下語法,并且我們實際上可以在使用.loc 索引器選擇和篩選的同一語句中來更新數據。這很方便,因為我們可以根據不同的條件來更新列中的值。

在最后一個loc例子中,我們將創建一個新列(NewCol),并在neur大于18的行中添加單詞“BIG”:

結論

在這個Pandas iloc和loc教程中,我們學習了使用loc和iloc方法建立索引、選擇數據和選取子集。更具體地說,我們已經了解了這些方法是如何工作的。當談到loc時,我們已經學習了如何根據條件語句(例如,大于或等于)去選擇數據,以及如何使用loc去設置值。

英文原文:https://www.marsja.se/how-to-use-iloc-and-loc-for-indexing-and-slicing-pandas-dataframes/?
譯者:測試

總結

以上是生活随笔為你收集整理的c++没有终结符的多行输入如何停止_如何使用iloc和loc 对Pandas Dataframe进行索引和切片...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。