以下詳細信息:
(以下過程均在Jupyter notebook中進行,省略了部分語句的print()函數。)
首先生成DataFrame對象:
除了數據參數之外,用戶還可以指定兩個參數:列(列名)和索引(行名)。註意,這裏的索引不僅可以是數字,還可以是用戶指定的任何數據幀,比如字母。如果未指定,默認情況下,行和列的名稱都是0、1和2。
下圖說明了前壹種情況:
。loc【行標簽名稱/【行標簽名稱列表】,列標簽名稱/【列標簽名稱列表】】,即有兩個輸入參數,第壹個指定行名稱,第二個指定列名稱。當只有壹個參數時,默認值是行名(即提取整行),並且選擇所有列。
。loc【line position/【行位置列表】,column position/【列位置列表】】也有兩個輸入參數,第壹個指定行位置,第二個指定列位置。當只有壹個參數時,默認為行位置(即提取整行),並且選擇所有列。
上面提到的。loc【】和。iloc【】只接收1個參數“語言”或“0”,因此默認情況下,它們都表示行信息,並且所有列都被選中,即提取整行數據“語言”。‘,‘表示分隔兩個參數(如果有兩個參數),‘:‘在此表示選擇中的所有列。當只有壹個輸入參數時,python默認為“,”和“:”,可以寫也可以省略。註意:如果參數【Language】或【0】中只有壹個對象(即只有壹行),【】也可以省略,如果有多個對象(即多行),則必須添加【】。此外,需要註意的是,添加【】意味著提取的結果是DataFrame對象,無論它是壹個數據、壹行數據還是壹列數據;如果沒有【】,如果選擇了壹行或壹列數據,則它是壹個系列對象,如果是單個數據,則它是數據本身的類型。
示例2和示例1之間的唯壹區別是第壹個參數指定了要壹起輸出的多行。此時,每行的名稱或下標必須用【】括起來,否則會出錯。後面的“、”和“:”與示例1相同,可以省略。註:原始數據的行順序為:語文、數學、英語和政治,其中提取順序為【“英語”、“漢語”和“政治”】,輸出也為“英語”、“漢語”和“政治”。可以看出,輸出順序與參數指定的順序壹致,而不是以原始順序輸出。
示例3仍然接受1個參數,但是沒有列參數。後面的“、”和“:”與示例1相同,可以省略。連續參數以“開始:結束”的形式指定行範圍。註意:這裏不能用【】括起來,否則會出錯。另外,連續使用行名和列名時,如【‘language:‘politics‘】,也會取出‘politics‘所在的行,而使用矩陣下標時,0:3只取3行對應0,1,2,最後壹行不會取出;但是,如果列標記名本身是0,1,2的整數...當使用連續列標簽名稱提取數據時,不會取出最後壹行或最後壹列,而不是單詞或其他類型。
整列的提取方式與參數設置中的整行提取方式完全相同。的默認列。loc【】和。iloc【】是第二個參數,因此在提取整列時,必須以“:”作為“分隔符”來區分前面各行的參數,否則將會出錯。
同時提取部分行和列的情況是將上述分別提取行和列的方法結合起來。提取整個DataFrame對象。loc【:,:】或。iloc【:,:】,盡管這樣做沒有意義。
的。loc【,】和。(1)data frame對象的iloc【,】方法用於提取數據。loc【,】將行和列的標記名作為參數。iloc【,】將二維矩陣元素的網格下標作為參數。
(2)兩種方法都接受兩個參數,第壹個是行標簽或矩陣行號,第二個是列標簽或矩陣列號。
(3)當兩種方法中都只指定了壹個輸入參數時,兩種方法都與“行”相關,並且所有“列”都被選擇。當行和列都需要指定時,用“逗號”分隔它們非常重要,否則會出錯。
(4)當需要選擇所有行的某些列時,可以省略行參數,而需要指定列參數。此時,列參數必須以“、:”開頭,如。loc【:,列參數】和。iloc【:,列參數】。
(5)是否為設置了壹個或兩個輸入參數。loc【,】和。iloc【,】取決於是否有“,”來分隔兩個參數,並且需要區分逗號是參數的內部逗號,還有壹個逗號用於分隔列中的參數。
(6)對於兩個參數之間的概念區別。loc【‘language‘,‘mathematics‘】表示輸入了兩個參數,行參數為‘language‘,列參數為‘mathematics‘,這對於上表是錯誤的,因為沒有名為‘mathematics‘的列,應該寫成【【‘language‘,mathematics‘】】。【【‘Language‘,‘Math‘】】=【【‘Language‘,‘Math‘】,】=【【‘Language‘,‘Math‘】,:】,這些都表示只有壹個行參數,並且選擇了所有列。