天天看點

學習專欄-關于Python讀取資料學習記錄

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

學習專欄-關于Python讀取資料學習記錄

1.抽取一行代碼

學習專欄-關于Python讀取資料學習記錄
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['明日','國文'])
           

結果:

學習專欄-關于Python讀取資料學習記錄

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屬性

學習專欄-關于Python讀取資料學習記錄

上代碼:

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)總表的結果

學習專欄-關于Python讀取資料學習記錄

運作代碼的結果

學習專欄-關于Python讀取資料學習記錄

5、抽取指定行列資料

學習專欄-關于Python讀取資料學習記錄

代碼如下:

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讀取資料學習記錄
學習專欄-關于Python讀取資料學習記錄

有在學Python的同學看到這篇文章麻煩給我點個贊和關注,謝謝!

學習專欄-關于Python讀取資料學習記錄