欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows下Python使用Pandas模塊操作Excel文件的教程

 更新時(shí)間:2016年05月31日 15:05:43   作者:wwt  
Pandas是一個(gè)強(qiáng)大的Python數(shù)據(jù)分析模塊,這里我們先使用ANACONDA來幫助獲取Pandas所以來的一些環(huán)境,然后來初步學(xué)習(xí)Windows下Python使用Pandas模塊操作Excel文件的教程

安裝Python環(huán)境
ANACONDA是一個(gè)Python的發(fā)行版本,包含了400多個(gè)Python最常用的庫,其中就包括了數(shù)據(jù)分析中需要經(jīng)常使用到的Numpy和Pandas等。更重要的是,不論在哪個(gè)平臺(tái)上,都可以一鍵安裝,自動(dòng)配置好環(huán)境,不需要用戶任何的額外操作,非常方便。因此,安裝Python環(huán)境就只需要到ANACONDA網(wǎng)站上下載安裝文件,雙擊安裝即可。
ANACONDA官方下載地址:https://www.continuum.io/downloads
安裝完成之后,使用windows + r鍵打開Windows命令行,輸入ipython,然后回車:

Python 2.7.11 |Anaconda 2.5.0 (64-bit)| (default, Jan 29 2016, 14:26:21) [MSC v.1500 64 bit (AMD64)]

Type "copyright", "credits" or "license" for more information.

IPython 4.0.3 -- An enhanced Interactive Python.

?     -> Introduction and overview of IPython's features.

%quickref -> Quick reference.

help   -> Python's own help system.

object?  -> Details about 'object', use 'object??' for extra details.

如上所示,如果成功進(jìn)入了Python環(huán)境,則代表安裝成功。


使用pandas處理excel
在本文我以log.xls文件為例,來說明如何使用pandas處理excel文件。log.xls文件的內(nèi)容如下所示:

2016531150143615.jpg (1440×759)

可以看到log.xls中包含了多個(gè)的表(sheet),每個(gè)表主要包括了member和activity兩個(gè)屬性,相同的member ID的數(shù)據(jù)相鄰的排列在一起,并且最后一行是前面所有的匯總。這里,我們假設(shè)需要提取出每個(gè)member匯總的信息,即提取每個(gè)member連續(xù)出現(xiàn)的最后一行的數(shù)據(jù)。如何實(shí)現(xiàn)呢?

這里我們就來隆重介紹Pandas,,從https://pypi.python.org/pypi/pandas/0.16.2官方下載,cmd命令行進(jìn)入下載解壓目錄,

python setup.py install 

安裝。

(PS:python的大數(shù)據(jù)模塊pandas完全安裝完畢后還依賴于
• NumPy: 1.6.1 or higher
• python-dateutil 1.5
• pytz
這三個(gè)模塊也許要安裝。
可選擇依賴有(可以根據(jù)需要安裝)
• SciPy: miscellaneous statistical functions
• PyTables: necessary for HDF5-based storage
• SQLAlchemy: for SQL database support. Version 0.8.1 or higher recommended.
• matplotlib: for plotting
• statsmodels
– Needed for parts of pandas.stats
• openpyxl, xlrd/xlwt
– openpyxl version 1.6.1 or higher, but lower than 2.0.0
– Needed for Excel I/O
• XlsxWriter
– Alternative Excel writer.
• boto: necessary for Amazon S3 access.

導(dǎo)入pandas模塊:

import pandas as pd

使用import讀入pandas模塊,并且為了方便使用其縮寫pd指代。

讀入待處理的excel文件:

df = pd.read_excel('log.xls')

通過使用read_excel函數(shù)讀入excel文件,后面需要替換成excel文件所在的路徑。讀入之后變?yōu)閜andas的DataFrame對(duì)象。DataFrame是一個(gè)面向列(column-oriented)的二維表結(jié)構(gòu),且含有列表和行標(biāo),對(duì)excel文件的操作就轉(zhuǎn)換為對(duì)DataFrame操作。另外,如果一個(gè)excel含有多個(gè)表,如果你只想讀入其中一個(gè)可以:

df = pd.read_excel('log.xls', sheetname=1)

增加了一個(gè)參數(shù)sheetname,表示的是第幾個(gè)表,從0開始計(jì)數(shù)。我上面設(shè)置的是1,也就是第二個(gè)表。

讀入之后,可以先查看表頭信息和每一列的數(shù)據(jù)類型:

df.dtypes

輸出如下:
Member     object
Unnamed: 1  float64
Unnamed: 2  float64
Unnamed: 3  float64
Unnamed: 4  float64
Unnamed: 5  float64
家內(nèi)外活動(dòng)類型    object
Unnamed: 7   object
activity    object
dtype: object

提取每個(gè)member連續(xù)出現(xiàn)的最后一行數(shù)據(jù):

 new_df = df.drop_duplicates(subset='Member', keep='last')

以上語句的意思是根據(jù)Member字段去除掉多余的行,并且保留相同行的最后一行數(shù)據(jù)。這些就得到了每一個(gè)member最后一行的數(shù)據(jù)了,返回了經(jīng)過篩選后的DataFrame。

接下來需要將處理后的結(jié)果,保存為excel文件:

out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

output.xls是你要保存的文件名,可以任取;然后將DataFrame的內(nèi)容保存到該文件,最后保存該文件到系統(tǒng)的磁盤上。

接下來,你就可以在當(dāng)前目錄看到一個(gè)新的文件,可以直接使用excel打開查看。

Pandas還提供了很多的API,可以根據(jù)具體的任務(wù),查找API文檔,找到合適的函數(shù)來完成任務(wù)。

附:一個(gè)完整的示例

#coding=utf-8
import pandas as pd

# 讀入excel文件中的第2個(gè)表
df = pd.read_excel('log.xls', sheetname=1)
# 查看表的數(shù)據(jù)類型
print df.dtypes
# 查看Member列的數(shù)據(jù)
print df['Member']

'''
# 新建一列,每一行的值是Member列和activity列相同行值的和
for i in df.index:
  df['activity_2'][i] = df['Member'][i] + df['activity'][i]
'''

# 根據(jù)Member字段去除掉多余的行,并且保留相同行的最后一行數(shù)據(jù)
new_df = df.drop_duplicates(subset='Member', keep='last')
# 導(dǎo)出結(jié)果
out = pd.ExcelWriter('output.xls')
new_df.to_excel(out)
out.save()

相關(guān)文章

  • Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程

    Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程

    這篇文章主要介紹了Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程,面向?qū)ο笫荘ython的基礎(chǔ)特性,其中的類與對(duì)象的特性和使用方法是Python學(xué)習(xí)當(dāng)中的基本功,需要的朋友可以參考下
    2015-03-03
  • 12步教你理解Python裝飾器

    12步教你理解Python裝飾器

    或許你已經(jīng)用過裝飾器,它的使用方式非常簡單但理解起來困難(其實(shí)真正理解的也很簡單),想要理解裝飾器,你需要懂點(diǎn)函數(shù)式編程的概念,python函數(shù)的定義以及函數(shù)調(diào)用的語法規(guī)則等,感興趣的小伙伴們可以參考一下
    2016-02-02
  • 如何用用Python制作NFT區(qū)塊鏈作品

    如何用用Python制作NFT區(qū)塊鏈作品

    在本文中,我們將學(xué)習(xí)如何使用 Brownie、Python 和 Chainlink 來制作非同質(zhì)化的 NFT 作品,并在 OpenSea NFT 市場上展示和銷售我們的成果。
    2021-06-06
  • pycharm下載依賴一直失敗的問題踩坑指南

    pycharm下載依賴一直失敗的問題踩坑指南

    在使用pycharm學(xué)習(xí)python的時(shí)候,經(jīng)常需要第三方庫,沒有第三方庫程序就會(huì)報(bào)錯(cuò),下面這篇文章主要給大家介紹了關(guān)于pycharm下載依賴一直失敗的問題踩坑指南,需要的朋友可以參考下
    2023-06-06
  • matplotlib對(duì)象拾取事件處理的實(shí)現(xiàn)

    matplotlib對(duì)象拾取事件處理的實(shí)現(xiàn)

    這篇文章主要介紹了matplotlib對(duì)象拾取事件處理的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • Python Pandas學(xué)習(xí)之?dāng)?shù)據(jù)離散化與合并詳解

    Python Pandas學(xué)習(xí)之?dāng)?shù)據(jù)離散化與合并詳解

    Pandas是python的一個(gè)數(shù)據(jù)分析包,該工具是為解決數(shù)據(jù)分析任務(wù)而創(chuàng)建的。本文將通過示例詳細(xì)為大家介紹一下Pandas的數(shù)據(jù)離散化與合并,需要的可以參考一下
    2022-02-02
  • Python實(shí)現(xiàn)視頻字幕時(shí)間軸格式轉(zhuǎn)換的示例

    Python實(shí)現(xiàn)視頻字幕時(shí)間軸格式轉(zhuǎn)換的示例

    本文主要介紹了Python實(shí)現(xiàn)視頻字幕時(shí)間軸格式轉(zhuǎn)換的示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-11-11
  • 使用scrapy ImagesPipeline爬取圖片資源的示例代碼

    使用scrapy ImagesPipeline爬取圖片資源的示例代碼

    這篇文章主要介紹了使用scrapy ImagesPipeline爬取圖片資源的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-09-09
  • Python中psutil的介紹與用法

    Python中psutil的介紹與用法

    這篇文章主要給大家介紹了關(guān)于Python中psutil的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-05-05
  • 自定義python日志文件系統(tǒng)實(shí)例

    自定義python日志文件系統(tǒng)實(shí)例

    這篇文章主要介紹了自定義python日志文件系統(tǒng)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08

最新評(píng)論