您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關利用pandas怎么對行列的數據進行抽取,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
data[ 列名 ]: 取單列或多列,不能用連續方式取,也不能用于取行。
data.列名: 只用于取單列,不能用于行。
data[ i:j ]: 用起始行下標(i)和終止行下標(j)取單行或者連續多行,不能用于列的選取。
data.loc[行名,列名]: 用對象的.loc[]方法實現各種取數據方式。
data.iloc[行下標,列下標]: 用對象的.iloc[]方法實現各種取數據方式。
import pandas as pd score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]] name = ['小新','小紅','小李'] course = ['語文','數學','英語','政治'] mydata = pd.DataFrame(data=score,columns=name,index=course)#指定行列名 print(mydata)
小新 小紅 小李
語文 34 67 87
數學 68 98 58
英語 75 73 86
政治 94 59 81
print(mydata['小紅']) # 輸出是一個Series對象,而不是DataFrame對象 語文 67 數學 98 英語 73 政治 59 print(mydata[['小紅']]) # 加了[],此時輸出的是DataFrame對象 小紅 語文 67 數學 98 英語 73 政治 59 print(mydata[['小紅','小李']]) #選擇兩列,此時必須用[]將兩列括起來 小紅 小李 語文 67 87 數學 98 58 英語 73 86 政治 59 81
print(mydata[0:1]) #通過0:1選擇了第0行 小新 小紅 小李 語文 34 67 87 mydata[0:3] #通過0:3選擇了第0,1,2三行 小新 小紅 小李 語文 34 67 87 數學 68 98 58 英語 75 73 86
print(mydata.小紅) #通過.小紅選擇了小紅列,注意輸出的是Series對象 語文 67 數學 98 英語 73 政治 59
引例:
import pandas as pd score = [[34,67,87],[68,98,58],[75,73,86],[94,59,81]] name = ['小新','小紅','小李'] course = ['語文','數學','英語','政治'] mydata1 = pd.DataFrame(data=score,columns=name,index=course) # 指定行名(index)和列名(columns) print(mydata1) mydata2 = pd.DataFrame(score) # 不指定行列名,默認使用0,1,2…… print(mydata2)
小明 小紅 小李
語文 34 67 87
數學 68 98 58
英語 75 73 86
政治 94 59 81
0 1 2
0 34 67 87
1 68 98 58
2 75 73 86
3 94 59 81
.loc[]: 以列名和行名作為參數。
.iloc[]: 以二維矩陣的位置指標(即0,1,2……)作為參數。
.loc[]語法:
有兩個輸入參數,第一個指定行名,第二個指定列名。當只有一個參數時,默認是行名(即抽取整行),所有列都選中。
.iloc[]語法:
有兩個輸入參數,第一個指定行位置,第二個指定列位置。當只有一個參數時,默認是行位置(即抽取整行),所有列都選中。
當需要選中所有行的某幾列時,行參數可以省略,列參數需要指定,此時列參數前面必須帶上“,:”,形如.loc[:,列參數],.iloc[:,列參數]。
兩種方法當只指定一個輸入參數時,都默是跟“行”相關,而“列”則全部被選中。如何行和列都需要指定時,中間用“逗號,”隔開,這非常重要,否則出錯。
兩個方法都接受兩個參數,第一個是“行標簽”或者“矩陣行號”,第二個是“列標簽”或者“矩陣列號”。
看完上述內容,你們對利用pandas怎么對行列的數據進行抽取有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。