給大家分享一下我學Python的讀取資料的學習記錄

1.抽取一行代碼
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df)
print(df.loc['明日','國文'])
結果:
2.抽取多行資料
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df.loc[['明日','高袁圓']]) #抽取多行資料的文法是loc[['例子1','例子2']]
print(df.iloc[[0,2]]) #抽出多行資料的文法2是iloc[['1','2']]
1、連續抽取多行的資料
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df.loc['明日':'二月二']) #從’明日‘到‘二月二’ #這個很好了解。就是:就是一個索引,從明日到二月二
print(df.loc[:'七月流火':]) #從第1行到'七月流火' #這個就是:七月流火: 意思就是從順序頭是第一行,結尾就是中間的字眼"七月流火"
print(df.iloc[0:4]) #從第1行到第4行 #索引0-4的範圍内容
print(df.iloc[1::]) #第2行到最後一行 #1代表索引起頭 :代表結尾
2、抽取列的的資料
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df[['國文','數學']]) #抽取列資料隻需輸入列名即可進行抽取
3、使用loc屬性和iloc屬性
上代碼:
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df)
print(df.loc[:,['國文','數學']]) #抽取"國文"和"數學" 抽取指定列資料為:df.loc[:,['列名1','列名2']]
print(df.iloc[:,[0,1]]) #抽取第1列和第二列 抽取指定的列序号 df.iloc[:,[列名的序号,列名的序号]]
print(df.loc[:,'國文':]) #抽取從"國文"開始到最後一列 抽取從哪一列到哪一列 df.loc[:,'開始的列名':]
print(df.iloc[:,:2]) #連續抽取從1列開始到第三列 但不包括第3列 抽取開始列到結尾列的資料但是不包括最後一列
print(df)總表的結果
運作代碼的結果
5、抽取指定行列資料
代碼如下:
import pandas as pd
#解決資料輸出時列名不對齊的問題
pd.set_option('display.unicode.east_asian_width',True)
data=[[110,110,99],[105,88,115],[109,120,130],[112,115]]
name=['明日','七月流火','高袁圓','二月二']
columns=['國文','數學','英語']
df=pd.DataFrame(data=data,index=name,columns=columns)
print(df)
print(df.loc['七月流火','英語']) #英語成績 直接輸出行列 文法為 def.loc['行名','列名']
print(df.loc[['七月流火'],['英語']]) #"七月流火"的"英語"成績 輸出指定的行和列的資料并且帶行名和列名
# 文法為 df.loc[['行名','列名']]
print(df.loc[['七月流火'],['數學','英語']]) #"七月流火"的“數學”和"英語"成績 輸出七月流火行的列的成績
#文法為 df.loc[['行名'],[‘列名1’,'列名2']]
print(df.iloc[[1],[2]]) #第2行第3列 按序号輸出行和列 文法為:df.iloc[[1],[2]]
print(df.iloc[1:,[2]]) #第2行到最後一行的第3列 輸出指定的行号到最後一行的列名 df.iloc[行序号:,[列序号]]
print(df.iloc[1:,[0,2]]) #第2行到最後一行的第1列和第3列
# 輸出指定的行号到最後一行的多個列名 df.iloc[行序号:,[列序号1],[列序号2]]
print(df.iloc[:,2]) #所有行,第3列 輸出所有行并輸出指定列 文法為:df.iloc[:,列序号]
執行效果
有在學Python的同學看到這篇文章麻煩給我點個贊和關注,謝謝!