最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

python?Pandas庫read_excel()參數(shù)實例詳解

 更新時間:2022年07月21日 15:45:48   作者:leenuxcore  
人們經(jīng)常用pandas處理表格型數(shù)據(jù),時常需要讀入excel表格數(shù)據(jù),下面這篇文章主要給大家介紹了關于python?Pandas庫read_excel()參數(shù)的相關資料,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下

Pandas read_excel()參數(shù)使用詳解

1.read_excel函數(shù)原型

def read_excel(io,
               sheet_name=0,
               header=0,
               names=None,
               index_col=None,
               parse_cols=None,
               usecols=None,
               squeeze=False,
               dtype=None,
               engine=None,
               converters=None,
               true_values=None,
               false_values=None,
               skiprows=None,
               nrows=None,
               na_values=None,
               keep_default_na=True,
               na_filter=True,
               verbose=False,
               parse_dates=False,
               date_parser=None,
               thousands=None,
               comment=None,
               skip_footer=0,
               skipfooter=0,
               convert_float=True,
               mangle_dupe_cols=True,
               **kwds)

參數(shù)說明:

2.參數(shù)使用舉例

2.1. io和sheet_name參數(shù)

【例1】通過io和sheet_name讀取Excel表

records.xlsx內(nèi)容:

date	val	percent
2014/3/1	0.947014982	10%
2014/6/1	0.746103818	11%
2014/9/1	0.736764841	12%
2014/12/1	0.724937624	13%
2015/3/1	0.85043738	14%
2015/6/1	0.332503212	15%
2015/9/1	0.75289366	16%
2015/12/1	0.358275104	17%
2016/3/1	0.077250716	18%
2016/6/1	0.436182277	19%
2016/9/1	0.424714671	20%
2016/12/1	0.842471104	21%
2017/3/1	0.740035625	22%
2017/6/1	0.183588529	23%
2017/9/1	0.143363207	24%

Code:

In [166]: import pandas as pd
     ...: df = pd.read_excel(io="records.xlsx", sheet_name="Sheet1")
     ...: df
     ...:
Out[166]:
         date  val    percent
0    2014/3/1  0.947015  10%
1    2014/6/1  0.746104  11%
2    2014/9/1  0.736765  12%
3   2014/12/1  0.724938  13%
4    2015/3/1  0.850437  14%
5    2015/6/1  0.332503  15%
6    2015/9/1  0.752894  16%
7   2015/12/1  0.358275  17%
8    2016/3/1  0.077251  18%
9    2016/6/1  0.436182  19%
10   2016/9/1  0.424715  20%
11  2016/12/1  0.842471  21%
12   2017/3/1  0.740036  22%
13   2017/6/1  0.183589  23%
14   2017/9/1  0.143363  24%

說明:此處io和sheet_name參數(shù)都可以不明確指定,直接使用:

df = pd.read_excel("records.xlsx", "Sheet1")

如果records.xlsx文件只有一張表,或者要讀取的數(shù)據(jù)表為第一張表,sheet_name參數(shù)可以省略:

df = pd.read_excel("records.xlsx")

2.2. header參數(shù)

【例2】通過header參數(shù)指定表頭位置

records.xlsx內(nèi)容:

2020年XXX表
date	val	percent
2014/3/1	0.947014982	10%
2014/6/1	0.746103818	11%
2014/9/1	0.736764841	12%
2014/12/1	0.724937624	13%
2015/3/1	0.85043738	14%
2015/6/1	0.332503212	15%
2015/9/1	0.75289366	16%
2015/12/1	0.358275104	17%
2016/3/1	0.077250716	18%
2016/6/1	0.436182277	19%
2016/9/1	0.424714671	20%
2016/12/1	0.842471104	21%
2017/3/1	0.740035625	22%
2017/6/1	0.183588529	23%
2017/9/1	0.143363207	24%

我們在【例1】的基礎上為records.xlsx的“Sheet1”表增加了一行表頭說明,如果繼續(xù)使用【例1】的代碼,得到的結(jié)果是這樣的:

In [169]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1")
     ...: df
     ...:
Out[169]:
    2020年XXX表  Unnamed: 1 Unnamed: 2
0        date    val           percent
1    2014/3/1    0.947015        10%
2    2014/6/1    0.746104        11%
3    2014/9/1    0.736765        12%
4   2014/12/1    0.724938        13%
5    2015/3/1    0.850437        14%
6    2015/6/1    0.332503        15%
7    2015/9/1    0.752894        16%
8   2015/12/1    0.358275        17%
9    2016/3/1    0.077251        18%
10   2016/6/1    0.436182        19%
11   2016/9/1    0.424715        20%
12  2016/12/1    0.842471        21%
13   2017/3/1    0.740036        22%
14   2017/6/1    0.183589        23%
15   2017/9/1    0.143363        24%

這樣得到的列標及數(shù)據(jù)都不是我們想要的,這種情況下就需要通過header參數(shù)來指定表頭了,注意到表頭是在第2行,根據(jù)header參數(shù)的說明可知,行號是從0開始計算的,所以header參數(shù)應該為1.

Code:

In [170]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1)
     ...: df
     ...:
Out[170]:
         date  val    percent
0    2014/3/1  0.947015  10%
1    2014/6/1  0.746104  11%
2    2014/9/1  0.736765  12%
3   2014/12/1  0.724938  13%
4    2015/3/1  0.850437  14%
5    2015/6/1  0.332503  15%
6    2015/9/1  0.752894  16%
7   2015/12/1  0.358275  17%
8    2016/3/1  0.077251  18%
9    2016/6/1  0.436182  19%
10   2016/9/1  0.424715  20%
11  2016/12/1  0.842471  21%
12   2017/3/1  0.740036  22%

2.3. skipfooter參數(shù)

【例3】通過skipfooter參數(shù)忽略表尾數(shù)據(jù)

有時我們的數(shù)據(jù)是從第3方獲取到的,往往會在表的末尾添加一行“數(shù)據(jù)來源:xxx”.如:

2020年XXX表
date	val	percent
2014/3/1	0.947014982	10%
2014/6/1	0.746103818	11%
2014/9/1	0.736764841	12%
2014/12/1	0.724937624	13%
2015/3/1	0.85043738	14%
2015/6/1	0.332503212	15%
2015/9/1	0.75289366	16%
2015/12/1	0.358275104	17%
2016/3/1	0.077250716	18%
2016/6/1	0.436182277	19%
2016/9/1	0.424714671	20%
2016/12/1	0.842471104	21%
2017/3/1	0.740035625	22%
2017/6/1	0.183588529	23%
2017/9/1	0.143363207	24%
數(shù)據(jù)來源:	XXX	 

這種情況下,可以通過skipfooter參數(shù)來忽略該數(shù)據(jù)。

Code:

In [173]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1)
     ...: df
     ...:
Out[173]:
         date    val  percent
0    2014/3/1  0.947015  10%
1    2014/6/1  0.746104  11%
2    2014/9/1  0.736765  12%
3   2014/12/1  0.724938  13%
4    2015/3/1  0.850437  14%
5    2015/6/1  0.332503  15%
6    2015/9/1  0.752894  16%
7   2015/12/1  0.358275  17%
8    2016/3/1  0.077251  18%
9    2016/6/1  0.436182  19%
10   2016/9/1  0.424715  20%
11  2016/12/1  0.842471  21%
12   2017/3/1  0.740036  22%
13   2017/6/1  0.183589  23%
14   2017/9/1  0.143363  24%
2.4. index_col參數(shù)

【例4】通過index_col參數(shù)指定DataFrame index

在【例3】中,查看我們讀取得到的DataFrame的索引:

In [174]: df.index
Out[174]: RangeIndex(start=0, stop=15, step=1)

它是一個自動添加的整型索引,但如果現(xiàn)在我想要使用“date”列作為索引,可以通過index_col參數(shù)指定:

In [175]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1,index_col=0)
     ...: df
     ...:
Out[175]:
            val   percent
date
2014/3/1   0.947015  10%
2014/6/1   0.746104  11%
2014/9/1   0.736765  12%
2014/12/1  0.724938  13%
2015/3/1   0.850437  14%
2015/6/1   0.332503  15%
2015/9/1   0.752894  16%
2015/12/1  0.358275  17%
2016/3/1   0.077251  18%
2016/6/1   0.436182  19%
2016/9/1   0.424715  20%
2016/12/1  0.842471  21%
2017/3/1   0.740036  22%
2017/6/1   0.183589  23%
2017/9/1   0.143363  24%

In [176]: df.index
Out[176]:
Index(['2014/3/1', '2014/6/1', '2014/9/1', '2014/12/1', '2015/3/1', '2015/6/1',
       '2015/9/1', '2015/12/1', '2016/3/1', '2016/6/1', '2016/9/1',
       '2016/12/1', '2017/3/1', '2017/6/1', '2017/9/1'],
      dtype='object', name='date')

或者改成這樣:

df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1, index_col=“date”)

2.5. parse_dates參數(shù)

查看【例4】index的參數(shù)類型:

In [183]: type(df.index[0])
Out[183]: str

發(fā)現(xiàn)并不是我們想要的日期類型,而是str。現(xiàn)在我們想把它轉(zhuǎn)換為日期類型,可選的一種方法就是通過parse_dates參數(shù)來實現(xiàn)。

【例5】parse_dates參數(shù)處理日期

Code:

In [184]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1,i
     ...: ndex_col="date", parse_dates=True)
     ...: df
     ...:
Out[184]:
            val    percent
date
2014-03-01  0.947015  10%
2014-06-01  0.746104  11%
2014-09-01  0.736765  12%
2014-12-01  0.724938  13%
2015-03-01  0.850437  14%
2015-06-01  0.332503  15%
2015-09-01  0.752894  16%
2015-12-01  0.358275  17%
2016-03-01  0.077251  18%
2016-06-01  0.436182  19%
2016-09-01  0.424715  20%
2016-12-01  0.842471  21%
2017-03-01  0.740036  22%
2017-06-01  0.183589  23%
2017-09-01  0.143363  24%

In [185]: type(df.index[0])
Out[185]: pandas._libs.tslibs.timestamps.Timestamp

當parase_date設置為True時,默認將index處理為日期類型。

如果要處理的列不是index列,可以通過parse_dates= "date"來實現(xiàn)。

如果要處理的列包含多個,可以通過parse_dates= [“col1”,“col2”,…]來實現(xiàn)。

2.6. converters參數(shù)

在前面幾個例子中,我們發(fā)現(xiàn)percent列的數(shù)據(jù)都是xx%這樣的表示,且是str類型:

In [187]: type(df["percent"][0])
Out[187]: str

str類型并不是我們所希望的,現(xiàn)在我們希望可以將之轉(zhuǎn)化為float類型,這可以通過converters參數(shù)來實現(xiàn)。

【例6】converters參數(shù)進行數(shù)據(jù)類型轉(zhuǎn)換

Code:

In [189]: import pandas as pd
     ...: def convertPercent(val):
     ...:     return float(val.split("%")[0])*0.01
     ...:
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1,i
     ...: ndex_col="date", parse_dates=True, converters={"percent":convertPerce
     ...: nt})
     ...: df
     ...:
Out[189]:
                 val  percent
date
2014-03-01  0.947015     0.10
2014-06-01  0.746104     0.11
2014-09-01  0.736765     0.12
2014-12-01  0.724938     0.13
2015-03-01  0.850437     0.14
2015-06-01  0.332503     0.15
2015-09-01  0.752894     0.16
2015-12-01  0.358275     0.17
2016-03-01  0.077251     0.18
2016-06-01  0.436182     0.19
2016-09-01  0.424715     0.20
2016-12-01  0.842471     0.21
2017-03-01  0.740036     0.22
2017-06-01  0.183589     0.23
2017-09-01  0.143363     0.24

2.7. na_values參數(shù)

【例7】na_values參數(shù)處理na數(shù)據(jù)

很多時候,并不是所有的數(shù)據(jù)都是有效數(shù)據(jù),例如下表中2014/12/1和2016/6/1兩行的數(shù)據(jù)均為“–”:

2020年XXX表
date	val	percent
2014/3/1	0.947014982	10%
2014/6/1	0.746103818	11%
2014/9/1	0.736764841	12%
2014/12/1	--	--
2015/3/1	0.85043738	14%
2015/6/1	0.332503212	15%
2015/9/1	0.75289366	16%
2015/12/1	0.358275104	17%
2016/3/1	0.077250716	18%
2016/6/1	--	--
2016/9/1	0.424714671	20%
2016/12/1	0.842471104	21%
2017/3/1	0.740035625	22%
2017/6/1	0.183588529	23%
2017/9/1	0.143363207	24%
數(shù)據(jù)來源:	XXX	 

這種情況下可以通過na_values參數(shù)來處理。

Code

In [191]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1,i
     ...: ndex_col="date", parse_dates=True, na_values="--")
     ...: df
     ...:
Out[191]:
                 val percent
date
2014-03-01  0.947015     10%
2014-06-01  0.746104     11%
2014-09-01  0.736765     12%
2014-12-01       NaN     NaN
2015-03-01  0.850437     14%
2015-06-01  0.332503     15%
2015-09-01  0.752894     16%
2015-12-01  0.358275     17%
2016-03-01  0.077251     18%
2016-06-01       NaN     NaN
2016-09-01  0.424715     20%
2016-12-01  0.842471     21%
2017-03-01  0.740036     22%
2017-06-01  0.183589     23%
2017-09-01  0.143363     24%

2.8. usecols參數(shù)

【例8】 usecols參數(shù)選擇列

當我們只想處理數(shù)據(jù)表中的某些指定列時,可以通過usecols參數(shù)來指定。例如,我只想處理"date"和"val"兩列數(shù)據(jù),可以這樣通過

usecols=["date","val"]

來指定。

Code

In [193]: import pandas as pd
     ...: df = pd.read_excel("records.xlsx", "Sheet1", header=1, skipfooter=1,i
     ...: ndex_col="date", parse_dates=True, na_values="--", usecols=["date","v
     ...: al"])
     ...: df
     ...:
Out[193]:
                 val
date
2014-03-01  0.947015
2014-06-01  0.746104
2014-09-01  0.736765
2014-12-01       NaN
2015-03-01  0.850437
2015-06-01  0.332503
2015-09-01  0.752894
2015-12-01  0.358275
2016-03-01  0.077251
2016-06-01       NaN
2016-09-01  0.424715
2016-12-01  0.842471
2017-03-01  0.740036
2017-06-01  0.183589
2017-09-01  0.143363

總結(jié)

到此這篇關于python Pandas庫read_excel()參數(shù)的文章就介紹到這了,更多相關Pandas庫read_excel()參數(shù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • python寫日志文件操作類與應用示例

    python寫日志文件操作類與應用示例

    這篇文章主要介紹了python寫日志文件操作類與應用,結(jié)合實例形式分析了Python日志文件操作類的定義與使用相關操作技巧,需要的朋友可以參考下
    2019-07-07
  • python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式

    python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式

    今天小編就為大家分享一篇python cv2讀取rtsp實時碼流按時生成連續(xù)視頻文件方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • Python3標準庫之functools管理函數(shù)的工具詳解

    Python3標準庫之functools管理函數(shù)的工具詳解

    functools模塊提供的主要工具就是partial類,可以用來“包裝”一個有默認參數(shù)的callable對象。這篇文章主要介紹了Python3標準庫functools管理函數(shù)的工具的實例詳解,需要的朋友可以參考下
    2020-02-02
  • 使用Python完成SAP客戶端的打開和系統(tǒng)登陸功能

    使用Python完成SAP客戶端的打開和系統(tǒng)登陸功能

    這篇文章主要介紹了使用Python完成SAP客戶端的打開和系統(tǒng)登陸,涉及到SAP的打開和登錄過程,本文重點介紹如何通過Python完成SAP應用程序的打開并進入特定的”用戶指定系統(tǒng)“,需要的朋友可以參考下
    2022-05-05
  • Python學習之元組的使用詳解

    Python學習之元組的使用詳解

    Python元組和列表很像,也是一個包含多個元素的集合,本文主要給大家介紹了關于Python中元組(Tuple)的使用,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-06-06
  • python中的單引號雙引號區(qū)別知識點總結(jié)

    python中的單引號雙引號區(qū)別知識點總結(jié)

    在本篇文章中小編給大家整理了關于python中的單引號雙引號有什么區(qū)別的相關知識點以及實例代碼,需要的朋友們參考下。
    2019-06-06
  • 一文教你如何用Python輕輕松松操作Excel,Word,CSV

    一文教你如何用Python輕輕松松操作Excel,Word,CSV

    數(shù)據(jù)處理是 Python 的一大應用場景,而 Excel 又是當前最流行的數(shù)據(jù)處理軟件。本文將為大家詳細介紹一下如何用Python輕輕松松操作Excel、Word、CSV,需要的可以參考一下
    2022-02-02
  • 實例講解Python編程中@property裝飾器的用法

    實例講解Python編程中@property裝飾器的用法

    裝飾器中蘊含著很多Python的進階技巧,@property也不例外,比如文后會講到的快速進行代碼重構(gòu)的一個例子,這里我們就來以實例講解Python編程中@property裝飾器的用法:
    2016-06-06
  • python字符串中加空格的四種方法

    python字符串中加空格的四種方法

    本文主要介紹了python字符串中加空格的四種方法,包括使用加法運算符、join()方法、format()方法和f-string,文中通過示例代碼介紹的非常詳細,需要的朋友們下面隨著小編來一起學習學習吧
    2024-01-01
  • Python開發(fā)技巧之海象運算符的三種運用方式

    Python開發(fā)技巧之海象運算符的三種運用方式

    這篇文章主要介紹了Python開發(fā)技巧之海象運算符的三種運用方式,海象運算符是在 PEP 572 被提出的,直到 3.8 版本合入發(fā)布,感興趣的同學可以參考學習下
    2021-10-10

最新評論

昌江| 盐城市| 芦山县| 西林县| 友谊县| 老河口市| 连山| 大安市| 商河县| 雷山县| 农安县| 蒙城县| 宜城市| 乌恰县| 红原县| 稻城县| 工布江达县| 大埔区| 望都县| 万荣县| 迁安市| 巴塘县| 新泰市| 扶沟县| 利川市| 奉贤区| 天祝| 宣威市| 光山县| 辽阳市| 晋城| 雅安市| 聊城市| 乌拉特前旗| 合作市| 思茅市| 普格县| 南阳市| 多伦县| 无棣县| 重庆市|