1、讀取方法有按行(單行,多行連續,多行不連續),按列(單列,多列連續,多列不連續);部分不連續行不連續列;按位置(座標),按字元(索引);按塊(list);函式有 df.iloc(), df.loc(), df.iat(), df.at(), df.ix()。
2、轉換為df,賦值columns,index,修改新增資料,取行列索引
data =
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讀取資料
導庫 import pandas as pd fpath d 123.csv 讀取資料 book pd.read csv fpath 檢視全部內容 book idusename course01 張三7512 李四8023 王二8334 張華9045 小明7856 小紅7667 小七90 檢視前5行...
Pandas 資料讀取
1.讀取table 讀取普通分隔資料 read table 可以讀取txt,csv import osos.chdir f 首先設定一下讀取的路徑 data1 pd.read table data1.txt delimiter header 0 print data1 data1 pd.read t...
使用Pandas讀取資料
import pandas as pd data path datawarehouse testdata test01.csv df pd.read csv data path,sep t encoding utf 8 header name col1 col2 col3 col4 col5 指定標...