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

Pandas讀取并修改excel的示例代碼

 更新時(shí)間:2019年02月17日 08:31:26   作者:Debris丶  
這篇文章主要介紹了Pandas讀取并修改excel的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

最近總是和excel打交道,由于數(shù)據(jù)量較大,人工來(lái)修改某些數(shù)據(jù)可能會(huì)有點(diǎn)浪費(fèi)時(shí)間,這時(shí)候就使用到了Python數(shù)據(jù)處理的神器—–Pandas庫(kù),話不多說(shuō),直接上Pandas。

二、安裝

這次使用的python版本是python2.7,安裝python可以去python的官網(wǎng)進(jìn)行下載,這里不多說(shuō)了。

安裝完成后使用Python自帶的包管理工具pip可以很快的安裝pandas。

pip install pandas

如果使用的是Anaconda安裝的Python,會(huì)自帶pandas。

三、read_excel()介紹

首先可以先創(chuàng)建一個(gè)excel文件當(dāng)作實(shí)驗(yàn)數(shù)據(jù),名稱為example.xlsx,內(nèi)容如下:

name age gender
John 30 male
Mary 22 female
Smith 32 male

這里是很簡(jiǎn)單的幾行數(shù)據(jù),我們來(lái)用pandas實(shí)際操作一下這個(gè)excel表。

# coding:utf-8
import pandas as pd

data = pd.read_excel('example.xlsx', sheet_name='Sheet1')
print data

結(jié)果如下:

這里使用了read_excel()方法來(lái)讀取excel,來(lái)看一個(gè)read_excel()這個(gè)方法的API,這里只截選一部分經(jīng)常使用的參數(shù):

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)

這里主要參數(shù)為io,sheet_name,header,usecols和names

  • io:excel文件,如果命名為中文,在python2.7中,需要使用decode()來(lái)解碼成unicode字符串,例如: pd.read_excel('示例'.decode('utf-8))
  • sheet_name:返回指定的sheet,如果將sheet_name指定為None,則返回全表,如果需要返回多個(gè)表,可以將sheet_name指定為一個(gè)列表,例如['sheet1', 'sheet2']
  • header:指定數(shù)據(jù)表的表頭,默認(rèn)值為0,即將第一行作為表頭。
  • usecols:讀取指定的列,例如想要讀取第一列和第二列數(shù)據(jù):
pd.read_excel("example.xlsx", sheet_name=None, usecols=[0, 1])

四、使用

這里先來(lái)一個(gè)在機(jī)器學(xué)習(xí)中經(jīng)常使用的:將所有g(shù)ender為male的值改為0,female改為1。

# coding:utf-8
import pandas as pd
from pandas import DataFrame

# 讀取文件
data = pd.read_excel("example.xlsx", sheet_name="Sheet1")

# 找到gender這一列,再在這一列中進(jìn)行比較
data['gender'][data['gender'] == 'male'] = 0
data['gender'][data['gender'] == 'female'] = 1
print data

結(jié)果如下:

需要注意的是,這里的data為excel數(shù)據(jù)的一份拷貝,對(duì)data進(jìn)行修改并不會(huì)直接影響到我們?cè)瓉?lái)的excel,必須在修改后保存才能夠修改excel。保存的代碼如下:

DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

這時(shí)候我們?cè)俅蜷_(kāi)example.xlsx文件看看是否更改了:

 

如果我們想要新增加一列或者一行數(shù)據(jù)怎么辦呢?這里給出參考:

新增列數(shù)據(jù):

data['列名稱'] = None

新增行數(shù)據(jù),這里行的num為excel中自動(dòng)給行加的id數(shù)值

data.loc[行的num] = [值1, 值2, ...]

以上面的數(shù)據(jù)為例:

# coding:utf-8
import pandas as pd
from pandas import DataFrame

data = pd.read_excel("example.xlsx", sheet_name='Sheet1')

# 增加行數(shù)據(jù),在第5行新增
data.loc[5] = ['James', 32, 'male']

# 增加列數(shù)據(jù),給定默認(rèn)值None
data['profession'] = None

# 保存數(shù)據(jù)
DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

打開(kāi)excel看到的結(jié)果如下:

說(shuō)完了增加一行或一列,那怎樣刪除一行或一列呢?

import pandas as pd
from pandas import DataFrame

data = pd.read_excel("example.xlsx", sheet_name='Sheet1')

# 刪除gender列,需要指定axis為1,當(dāng)刪除行時(shí),axis為0
data = data.drop('gender', axis=1)

# 刪除第3,4行,這里下表以0開(kāi)始,并且標(biāo)題行不算在類
data = data.drop([2, 3], axis=0)

# 保存
DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

這時(shí)候打開(kāi)excel可以看見(jiàn)gender列和除標(biāo)題行的第3,4行被刪除了。

總結(jié)

pandas除了上述的基本功能以外,還有其它更高級(jí)的操作,想要進(jìn)一步學(xué)習(xí)的小伙伴們可以去pandas網(wǎng)站進(jìn)行學(xué)習(xí)。

相關(guān)文章

  • Python搭建NLP模型的步驟和代碼詳解

    Python搭建NLP模型的步驟和代碼詳解

    這篇文章主要為大家詳細(xì)介紹了Python搭建NLP模型的詳細(xì)步驟,文中的示例代碼講解詳細(xì),具有一定的借鑒價(jià)值,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-03-03
  • python 批量將PPT導(dǎo)出成圖片集的案例

    python 批量將PPT導(dǎo)出成圖片集的案例

    這篇文章主要介紹了python 批量將PPT導(dǎo)出成圖片集的案例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • 10個(gè)Python Excel自動(dòng)化腳本分享

    10個(gè)Python Excel自動(dòng)化腳本分享

    在數(shù)據(jù)處理和分析的過(guò)程中,Excel文件是我們?nèi)粘9ぷ髦谐R?jiàn)的格式,本文將分享10個(gè)實(shí)用的Excel自動(dòng)化腳本,希望可以幫助大家更輕松地掌握這些技能
    2025-02-02
  • 深入解析Python中的list列表及其切片和迭代操作

    深入解析Python中的list列表及其切片和迭代操作

    這篇文章主要介紹了Python中的列表及其切片和迭代操作,文中還對(duì)tuple元組作了介紹,需要的朋友可以參考下
    2016-03-03
  • django創(chuàng)建最簡(jiǎn)單HTML頁(yè)面跳轉(zhuǎn)方法

    django創(chuàng)建最簡(jiǎn)單HTML頁(yè)面跳轉(zhuǎn)方法

    今天小編就為大家分享一篇django創(chuàng)建最簡(jiǎn)單HTML頁(yè)面跳轉(zhuǎn)方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-08-08
  • Python unittest 自動(dòng)識(shí)別并執(zhí)行測(cè)試用例方式

    Python unittest 自動(dòng)識(shí)別并執(zhí)行測(cè)試用例方式

    這篇文章主要介紹了Python unittest 自動(dòng)識(shí)別并執(zhí)行測(cè)試用例方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • 最新評(píng)論

    东源县| 平果县| 翼城县| 拉孜县| 天等县| 益阳市| 高邮市| 河津市| 交城县| 普洱| 安吉县| 垣曲县| 靖州| 海晏县| 青河县| 沙田区| 渝北区| 内江市| 葫芦岛市| 香河县| 吉木乃县| 无为县| 红河县| 英德市| 盘锦市| 渭源县| 苏尼特左旗| 哈尔滨市| 广南县| 仙居县| 道孚县| 泸水县| 寿阳县| 莎车县| 太仆寺旗| 吉林市| 宁德市| 贵阳市| 西安市| 辰溪县| 江门市|