日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!

發布時間:2024/9/15 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取! 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文大綱

我覺得很有必要講述這個文章,進行數據處理的第一步就是Python數據讀取。但是你可能沒想到,在進行數據讀取的同時,我們其實可以配合相關參數做很多事兒,這對于后續的數據處理都是極其有幫助。

read_excel()函數和read_csv()函數,在參數上面有很多相同點,因此我就以read_excel()函數為例,進行詳細的說明。

參數詳解

1)sheet_name參數

  • 含義:選擇要讀取的sheet表;

  • sheet_name=0表示默認讀取第一個sheet表,等同于sheet_name=“sheet名稱”;

  • sheet_name=[“sheet名”,0]會返回一個字典,然后可以利用鍵獲取每一個sheet表中的數據;

  • sheet_name=None也會返回一個字典,但是會返回全部的sheet表;

① sheet_name=0和sheet_name="Sheet1"
#?下面這兩個讀取方式等同。 #df2?=?pd.read_excel("readexcel.xlsx",sheet_name=0) df2?=?pd.read_excel("readexcel.xlsx",sheet_name="Sheet1") df2

結果如下:

② sheet_name=[“sheet名”,0]
df2?=?pd.read_excel("readexcel.xlsx",sheet_name=[0,1]) df2

結果如下:

接著,我們可以使用鍵值對的方式,獲取每個sheet表中的數據。

注:關于sheet_name=None效果同上,只不過會返回所有的sheet表中的數據。

2)header參數

  • 含義:指定某一行作為表頭;

  • header=None專門針對沒有表頭的表,這也是默認值;

  • header=1指定第一行作為表頭;

  • header=[]主要針對復合表頭的情況;

① header=None
df3?=?pd.read_excel("header.xlsx",header=None) df3

結果如下:

② ?header=1
df3?=?pd.read_excel("header.xlsx",sheet_name=2,header=1)? df3

結果如下:

③ header=[]
df3?=?pd.read_excel("header.xlsx",sheet_name=3,header=[0,1],index_col=0)? df3

結果如下:

注意:上述用到了一個index_col參數,這個參數用于指定作為行索引的列,我就不詳細舉例了,看看下圖。

3)usecols參數

  • 含義:選擇讀取一張表中的指定列;

  • usecols=None也是默認情況,表示讀取所有列;

  • usecols=[A,C]表示只選取A列和C列。usecols=[A,C:E]表示選擇A列,C列、D列和E列;

  • usecols=[0,2]表示只選擇第一列和第三列;

  • usecols=["列名1","列名2"...]這也是推薦使用的一種寫法;

① usecols=None
df4?=?pd.read_excel("usecols.xlsx",usecols=None)?#?默認 df4

結果如下:

② usecols=[A,C]
df4?=?pd.read_excel("usecols.xlsx",usecols="A,C")? df4

結果如下:

③ usecols=[A,C:D]
df4?=?pd.read_excel("usecols.xlsx",usecols="A,C:D")? df4

結果如下:

④ usecols=[0,2]
df4?=?pd.read_excel("usecols.xlsx",usecols=[0,2])? df4

結果如下:

⑤ usecols=["列名1","列名2"...]

這種方式照說是沒有任何問題的,但是在我這邊運行總是無結果,我很納悶,大家可以下去試試。

4)names參數

  • 含義:如果表中沒有表頭,可以用這個參數添加一個標題。如果表中有表頭,可以用這個參數修改標題。

names?=?["月份","語文","英語"] df6?=?pd.read_excel("names.xlsx",header=None,names=names)? df6

結果如下:

5)dtype參數

  • 含義:讀取數據時,設置每一列的數據類型(重要);

  • dtype={}傳入一個字典,類似于{"列名":"類型"};

df7?=?pd.read_excel("dtype.xlsx") df7.dtypes ------------------------------------------------------ df7?=?pd.read_excel("dtype.xlsx",dtype={"年齡":"str"}) df7.dtypes

結果如下:

6)parse_dates參數

  • 含義:指定將哪些列,解析為日期格式;

  • parse_dates=True是專門用于將行索引,解析為日期格式;

  • parse_dates=[0,1,2,3,4]和parse_dates=["列名1","列名2","列名3","列名4"],都是將指定列一起解析為日期格式;

  • parse_dates=[[1,2,3]]和parse_dates=[["年","月","日"]],都是將多個列,解析為單個日期列;

  • parse_dates={"日期":[1,2,3]}不僅將多個日期列解析為單個日期列,同時還為這一列命名;

① parse_dates=True
df8?=?pd.read_excel("parse_dates",index_col=2,parse_dates=True) df8.index

結果如下:

② parse_dates=[0,1]和parse_dates=["列名1","列名2"]
df8?=?pd.read_excel("parse_dates",parse_dates=[0,1,2,3,4]) df8.dtypes #?這個代碼效果同上 df8?=?pd.read_excel("parse_dates.xlsx",parse_dates=["數值日期1","文本日期2","文本日期3","文本日期4","文本日期5"])

結果如下:

③ parse_dates=[[1,2,3]]和parse_dates=[["年","月","日"]]
#df8?=?pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates=[["年","月","日"]]) df8?=?pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates=[[1,2,3]]) df8

結果如下:

④ parse_dates={"日期":[1,2,3]}
df8?=?pd.read_excel("parse_dates.xlsx",sheet_name="Sheet2",parse_dates={"日期":[1,2,3]}) df8

結果如下:

7)date_parser參數
  • 含義:利用lambda函數,將某個字符串列,解析為日期格式;

  • 一般是配合parse_dates參數,一起使用;

df9?=?pd.read_excel("date_parser.xlsx",parse_dates=[1],date_parser=lambda?x:?pd.to_datetime(x,format="%Y年%m月%d")) print(df9.dtypes) df9

結果如下:

8)na_values參數

  • 含義:用于將某些特定的值,解析為NaN值,然后便于我們后面做缺失值的處理;

  • na_values=”值1“表示將所有數據中值1全部替換為NaN;

  • na_values=[”值1“,"值2"]表示將所有數據中值1、值2全部替換為NaN;

  • na_values={"列1":[”值1“,"值2"]}表示將第一列中所有的值1、值2全部替換為NaN;

① na_values=”值1“
df10?=?pd.read_excel("na_values.xlsx",na_values="?") df10

結果如下:

② na_values=[”值1“,"值2"]
df10?=?pd.read_excel("na_values.xlsx",na_values=["a","0"]) df10

結果如下:

③ na_values={"列1":[”值1“,"值2"]}
#??只替換某一列中的某些值為NaN df10?=?pd.read_excel("na_values.xlsx",na_values={"列2":["0","?"]}) df10

結果如下:

9)converters參數
  • 含義:對某一列使用Lambda函數,進行某種運算;

  • 例如:converters={"工資":lambda x: x + 1000};

df11?=?pd.read_excel("converters.xlsx",converters={"地址":lambda?x:?"中國"+x,"工資":lambda?x:?x?+?1000}) df11

結果如下:

后臺回復"readexcel" 獲取本文所用到的素材!

由于微信平臺算法改版,公號內容將不再以時間排序展示,如果大家想第一時間看到我們的推送,強烈建議星標我們和給我們多點點【在看】。星標具體步驟為:

(1)點擊頁面最上方“小詹學Python”,進入公眾號主頁。 (2)點擊右上角的小點點,在彈出頁面點擊“設為星標”,就可以啦。 感謝支持,比心。

總結

以上是生活随笔為你收集整理的一个参数一个Excel表,让你玩转Pandas中read_excel()表格读取!的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。