您好,登錄后才能下訂單哦!
這篇文章主要講解了“Pandas怎么讀取行列數據”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Pandas怎么讀取行列數據”吧!
1、讀取方法有按行(單行,多行連續,多行不連續),按列(單列,多列連續,多列不連續);部分不連續行不連續列;按位置(坐標),按字符(索引);按塊(list);函數有 df.iloc(), df.loc(), df.iat(), df.at(), df.ix()。
2、轉換為DF,賦值columns,index,修改添加數據,取行列索引
data = {'省份': ['北京', '上海', '廣州', '深圳'], '年份': ['2017', '2018', '2019', '2020'], '總人數': ['2200', '1900', '2170', '1890'], '高考人數': ['6.3', '5.9', '6.0', '5.2']} df = pd.DataFrame(data, columns=['省份', '年份', '總人數', '高考人數', '高數'], index=['one', 'two', 'three', 'four']) df['高數'] = ['90', '95', '92', '98'] print("行索引:{}".format(list(df.index))) print("列索引:{}".format(list(df.columns))) print(df.index[1:3]) print(df.columns[1]) print(df.columns[1:3]) print(df)
行索引:['one', 'two', 'three', 'four']
列索引:['省份', '年份', '總人數', '高考人數', '高數']
Index(['two', 'three'], dtype='object')
年份
Index(['年份', '總人數'], dtype='object')
省份 年份 總人數 高考人數 高數
one 北京 2017 2200 6.3 90
two 上海 2018 1900 5.9 95
three 廣州 2019 2170 6.0 92
four 深圳 2020 1890 5.2 98
3、iloc不能通過[:, [1:3]]取連續數據,取連續數據只能通過 df[df.columns[1:4]],先獲取列索引,再取數據。
print(df['省份']) #按列名取列 print(df.省份) #按列名取列 print(df[['省份', '總人數']]) #按列名取不連續列數據 print(df[df.columns[1:4]]) #按列索引取連續列數據 print(df.iloc[:, 1]) #按位置取列 print(df.iloc[:, [1, 3]]) #按位置取不連續列數據
one 北京
two 上海
three 廣州
four 深圳
Name: 省份, dtype: object
one 北京
two 上海
three 廣州
four 深圳
Name: 省份, dtype: object
省份 總人數
one 北京 2200
two 上海 1900
three 廣州 2170
four 深圳 1890
年份 總人數 高考人數
one 2017 2200 6.3
two 2018 1900 5.9
three 2019 2170 6.0
four 2020 1890 5.2
one 2017
two 2018
three 2019
four 2020
Name: 年份, dtype: object
年份 高考人數
one 2017 6.3
two 2018 5.9
three 2019 6.0
four 2020 5.2
4、通過df.iloc[](數字)取行數據,取部分行部分列時,要先寫行,再寫列;有條件的取數據
print(df[1:3]) #按行取數據,這行代碼結果沒在下面輸出 print(df[df.高數>90]) #按行有條件的取數據,結果沒輸出 print(df.iloc[1]) #按行取行數據 print(df.iloc[1, 3]) #按坐標取 print(df.iloc[[1], [3]]) #按坐標取 print(df.loc[df.index[1:3]]) #按行索引取行,但沒必要 print(df.iloc[1:3]) #按行取連續數據 print(df.iloc[[1, 3]]) 按行取不連續數據 print(df.iloc[[1,2,3], [2,4]]) 取部分行部分列數據
省份 上海
年份 2018
總人數 1900
高考人數 5.9
高數 95
Name: two, dtype: object
5.9
高考人數
two 5.9
省份 年份 總人數 高考人數 高數
two 上海 2018 1900 5.9 95
three 廣州 2019 2170 6.0 92
省份 年份 總人數 高考人數 高數
two 上海 2018 1900 5.9 95
three 廣州 2019 2170 6.0 92
省份 年份 總人數 高考人數 高數
two 上海 2018 1900 5.9 95
four 深圳 2020 1890 5.2 98
總人數 高數
two 1900 95
three 2170 92
four 1890 98
5、通過df.loc[]索引(字符)取行數據。
print(df.loc['two']) print(df.loc['two', '省份']) print(df.loc['two':'three']) print(df.loc[['one', 'three']]) print(df.loc[['one', 'three'], ['省份', '年份']])
省份 上海
年份 2018
總人數 1900
高考人數 5.9
高數 95
Name: two, dtype: object
上海
省份 年份 總人數 高考人數 高數
two 上海 2018 1900 5.9 95
three 廣州 2019 2170 6.0 92
省份 年份 總人數 高考人數 高數
one 北京 2017 2200 6.3 90
three 廣州 2019 2170 6.0 92
省份 年份
one 北京 2017
three 廣州 2019
6、ix,iat,at取行列數據,此方法不常用,可以使用上面方法即可。
print(df.ix[1:3]) print(df.ix[:, [1, 3]]) print(df.iat[1,3]) print(df.at['two', '省份'])
省份 年份 總人數 高考人數 高數
two 上海 2018 1900 5.9 95
three 廣州 2019 2170 6.0 92
年份 高考人數
one 2017 6.3
two 2018 5.9
three 2019 6.0
four 2020 5.2
5.9
上海
感謝各位的閱讀,以上就是“Pandas怎么讀取行列數據”的內容了,經過本文的學習后,相信大家對Pandas怎么讀取行列數據這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。