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

Pandas實(shí)現(xiàn)Excel文件讀取,增刪,打開(kāi),保存操作

 更新時(shí)間:2023年04月09日 15:29:20   作者:逃逸的卡路里  
Pandas?是一種基于?NumPy?的開(kāi)源數(shù)據(jù)分析工具,用于處理和分析大量數(shù)據(jù)。本文將通過(guò)Pandas實(shí)現(xiàn)對(duì)Excel文件進(jìn)行讀取、增刪、打開(kāi)、保存等操作,需要的可以參考一下

前言

Pandas 是一種基于 NumPy 的開(kāi)源數(shù)據(jù)分析工具,用于處理和分析大量數(shù)據(jù)。Pandas 模塊提供了一組高效的工具,可以輕松地讀取、處理和分析各種類型的數(shù)據(jù),包括 CSV、Excel、SQL 數(shù)據(jù)庫(kù)、JSON 等格式的數(shù)據(jù)。

一、Pandas 的主要函數(shù)包括

pd.read_csv() / pd.read_excel() / pd.read_sql() 等:讀取不同格式的數(shù)據(jù)文件或 SQL 數(shù)據(jù)庫(kù)的數(shù)據(jù)。

DataFrame():創(chuàng)建數(shù)據(jù)框。

df.head() / df.tail():查看數(shù)據(jù)框的前幾行或后幾行。

df.info():查看數(shù)據(jù)框的基本信息。

df.describe():查看數(shù)據(jù)框的統(tǒng)計(jì)信息。

df.drop():刪除數(shù)據(jù)框的行或列。

df.rename():重命名數(shù)據(jù)框的行或列。

df.sort_values():按照指定列排序數(shù)據(jù)框。

df.groupby():按照指定列分組數(shù)據(jù)框。

df.apply():對(duì)指定列應(yīng)用函數(shù)。

pd.concat():合并數(shù)據(jù)框。

pd.merge():合并數(shù)據(jù)框的數(shù)據(jù)。

df.to_csv() / df.to_excel() / df.to_sql() 等:將數(shù)據(jù)框保存到不同格式的數(shù)據(jù)文件或 SQL 數(shù)據(jù)庫(kù)中。

以上是 Pandas 的一些常用函數(shù),這些函數(shù)使得數(shù)據(jù)的讀取、處理和分析變得更加方便和高效。

二、使用步驟

1.簡(jiǎn)單示例

下面是 Pandas 對(duì) Excel 文件進(jìn)行讀取、增刪、打開(kāi)、保存等操作的代碼實(shí)現(xiàn):

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 查看數(shù)據(jù)
print(df)

# 增加一列數(shù)據(jù)
df['New Column'] = [1, 2, 3, 4, 5]

# 刪除一列數(shù)據(jù)
df = df.drop('New Column', axis=1)

# 打開(kāi) Excel 文件
with pd.ExcelWriter('example.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)

上述代碼中,我們首先使用 pd.read_excel() 函數(shù)讀取名為 example.xlsx 的 Excel 文件的 Sheet1 工作表,并將其存儲(chǔ)在 df 變量中。接著,我們使用 print() 函數(shù)查看數(shù)據(jù)。

接下來(lái),我們使用 df[‘New Column’] = [1, 2, 3, 4, 5] 增加一列新數(shù)據(jù),表示新列的數(shù)據(jù)分別為 1、2、3、4 和 5。然后,我們使用 df = df.drop(‘New Column’, axis=1) 刪除剛剛增加的一列數(shù)據(jù)。

最后,我們使用 pd.ExcelWriter() 函數(shù)打開(kāi) Excel 文件,然后使用 df.to_excel() 函數(shù)將數(shù)據(jù)寫入名為 example.xlsx 的工作表 Sheet1 中,并將索引列排除在外。

2.保存Excel操作

Pandas 可以通過(guò) to_excel() 函數(shù)將數(shù)據(jù)框保存到 Excel 文件中。下面是一個(gè)示例代碼,演示如何將數(shù)據(jù)框保存到 Excel 文件中:

import pandas as pd

# 創(chuàng)建數(shù)據(jù)框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)


# 保存數(shù)據(jù)框到 Excel 文件
df.to_excel('example.xlsx', index=False)

在上述代碼中,我們首先創(chuàng)建了一個(gè)包含姓名、年齡和性別信息的數(shù)據(jù)字典 data,然后使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df。最后,我們使用 df.to_excel() 函數(shù)將數(shù)據(jù)框保存到名為 example.xlsx 的 Excel 文件中,并將索引列排除在外。

在 to_excel() 函數(shù)中,我們可以設(shè)置一些參數(shù)來(lái)控制保存的格式和內(nèi)容,例如:

  • sheet_name:指定要保存的工作表名稱。
  • header:設(shè)置是否包含表頭行,可以設(shè)置為 True 或 False。
  • index:設(shè)置是否包含索引列,可以設(shè)置為 True 或 False。
  • startrow 和 startcol:設(shè)置數(shù)據(jù)框的起始行和列。
  • float_format:設(shè)置浮點(diǎn)數(shù)的輸出格式。
  • encoding:設(shè)置保存文件時(shí)使用的編碼格式。

需要注意的是,在使用 to_excel() 函數(shù)保存數(shù)據(jù)框到 Excel 文件時(shí),需要安裝相應(yīng)的依賴庫(kù) openpyxl 或 xlsxwriter。如果沒(méi)有安裝這些依賴庫(kù),可以使用以下命令安裝:

pip install openpyxl
pip install xlsxwriter

安裝完依賴庫(kù)之后,就可以正常地將數(shù)據(jù)框保存到 Excel 文件中了。

3.刪除和添加數(shù)據(jù)

在 Pandas 中,可以使用 drop() 函數(shù)刪除數(shù)據(jù)框中的一行或一列數(shù)據(jù),使用 append() 函數(shù)添加一行或一列新的數(shù)據(jù)。下面是示例代碼,演示如何刪除一行或一列數(shù)據(jù)以及添加一行或一列新的數(shù)據(jù):

import pandas as pd

# 創(chuàng)建數(shù)據(jù)框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 刪除一行數(shù)據(jù)
df = df.drop(0)  # 刪除第一行數(shù)據(jù)
print(df)

# 刪除一列數(shù)據(jù)
df = df.drop('Gender', axis=1)  # 刪除“Gender”列
print(df)

# 添加一行新數(shù)據(jù)
new_data = {'Name': 'Daisy', 'Age': 24, 'Gender': 'F'}
df = df.append(new_data, ignore_index=True)  # 添加一行新數(shù)據(jù)
print(df)

# 添加一列新數(shù)據(jù)
new_column = ['A', 'B', 'C', 'D']
df['NewColumn'] = new_column  # 添加一列新數(shù)據(jù)
print(df)

在上述代碼中,我們首先創(chuàng)建了一個(gè)包含姓名、年齡和性別信息的數(shù)據(jù)字典 data,然后使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df。接著,我們使用 drop() 函數(shù)刪除了第一行數(shù)據(jù)和“Gender”列,并使用 append() 函數(shù)添加了一行新數(shù)據(jù)和一列新數(shù)據(jù)。最后,我們打印出修改后的數(shù)據(jù)框。

在 drop() 函數(shù)中,我們需要指定要?jiǎng)h除的行或列的標(biāo)簽,并設(shè)置參數(shù) axis=0 表示刪除行,設(shè)置 axis=1 表示刪除列。

在 append() 函數(shù)中,我們需要指定要添加的新數(shù)據(jù),可以是字典、列表或數(shù)據(jù)框。參數(shù) ignore_index=True 表示忽略原始數(shù)據(jù)框的索引,并為新添加的行分配新的索引值。

添加新列時(shí),我們可以直接為數(shù)據(jù)框 df 新建一個(gè)列,并將新數(shù)據(jù)賦值給這個(gè)列即可。需要注意的是,新數(shù)據(jù)的長(zhǎng)度必須與數(shù)據(jù)框的行數(shù)相同。

4.添加新的表單

在 Pandas 中,可以使用 ExcelWriter() 對(duì)象來(lái)向 Excel 文件中添加新的表單。下面是示例代碼,演示如何向 Excel 文件中添加新的表單:

import pandas as pd

# 讀取 Excel 文件
excel_file = pd.ExcelFile('example.xlsx')

# 創(chuàng)建 ExcelWriter 對(duì)象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')

# 讀取原始數(shù)據(jù)表單
df = pd.read_excel(excel_file, sheet_name='Sheet1')

# 添加新表單
new_data = {'Name': ['Alice', 'Bob', 'Charlie'],
            'Age': [25, 30, 35]}
df_new = pd.DataFrame(new_data)
df_new.to_excel(writer, sheet_name='Sheet2', index=False)

# 保存 Excel 文件
writer.save()

在上述代碼中,我們首先使用 ExcelFile() 函數(shù)讀取了一個(gè)名為 example.xlsx 的 Excel 文件。接著,我們使用 ExcelWriter() 函數(shù)創(chuàng)建了一個(gè)名為 writer 的 ExcelWriter 對(duì)象,用于向 Excel 文件中添加新的表單。然后,我們使用 read_excel() 函數(shù)讀取了原始數(shù)據(jù)表單,并將其存儲(chǔ)在數(shù)據(jù)框 df 中。接著,我們創(chuàng)建了一個(gè)包含姓名和年齡信息的數(shù)據(jù)字典 new_data,并使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df_new。然后,我們使用 to_excel() 函數(shù)將數(shù)據(jù)框 df_new 寫入到名為 Sheet2 的新表單中,并設(shè)置參數(shù) index=False 表示不將索引寫入 Excel 文件。最后,我們使用 save() 函數(shù)保存 Excel 文件。

需要注意的是,在使用 ExcelWriter() 對(duì)象向 Excel 文件中添加新的表單時(shí),需要指定參數(shù) engine=‘openpyxl’,以使用 openpyxl 引擎來(lái)處理 Excel 文件。同時(shí),在使用 to_excel() 函數(shù)寫入數(shù)據(jù)時(shí),需要傳遞 ExcelWriter 對(duì)象和新表單的名稱。

到此這篇關(guān)于Pandas實(shí)現(xiàn)Excel文件讀取,增刪,打開(kāi),保存操作的文章就介紹到這了,更多相關(guān)Pandas Excel操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • PyQt5實(shí)現(xiàn)登錄頁(yè)面

    PyQt5實(shí)現(xiàn)登錄頁(yè)面

    這篇文章主要為大家詳細(xì)介紹了PyQt5實(shí)現(xiàn)登錄頁(yè)面,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • python實(shí)現(xiàn)telnet客戶端的方法

    python實(shí)現(xiàn)telnet客戶端的方法

    這篇文章主要介紹了python實(shí)現(xiàn)telnet客戶端的方法,分析了Python中telnetlib模塊實(shí)現(xiàn)telnet操作的方法,并實(shí)例敘述了Telnet客戶端的實(shí)現(xiàn)技巧,需要的朋友可以參考下
    2015-04-04
  • Python源碼加密與Pytorch模型加密分別介紹

    Python源碼加密與Pytorch模型加密分別介紹

    在實(shí)際的工作中,有時(shí)候我們需要部署自己的Python應(yīng)用,但這時(shí)候我們并不希望別人能夠看到自己的Python源程序。因此,我們需要為自己的源代碼進(jìn)行加密,Python已經(jīng)為我們提供了這樣一套工作機(jī)制
    2022-12-12
  • python如何求兩數(shù)之和及多數(shù)之和

    python如何求兩數(shù)之和及多數(shù)之和

    這篇文章主要介紹了python如何求兩數(shù)之和及多數(shù)之和問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • Python使用Flask框架獲取當(dāng)前查詢參數(shù)的方法

    Python使用Flask框架獲取當(dāng)前查詢參數(shù)的方法

    這篇文章主要介紹了Python使用Flask框架獲取當(dāng)前查詢參數(shù)的方法,實(shí)例分析了query_string獲取查詢參數(shù)的技巧,需要的朋友可以參考下
    2015-03-03
  • Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實(shí)現(xiàn)方法

    Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實(shí)現(xiàn)方法

    椒鹽噪聲的特征非常明顯,為圖像上有黑色和白色的點(diǎn),下面這篇文章主要給大家介紹了關(guān)于Opencv圖像添加椒鹽噪聲、高斯濾波去除噪聲原理以及手寫Python代碼實(shí)現(xiàn)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-09-09
  • 使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析

    使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析

    這篇文章主要介紹了使用SQLAlchemy操作數(shù)據(jù)庫(kù)表過(guò)程解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-06-06
  • python神經(jīng)網(wǎng)絡(luò)facenet人臉檢測(cè)及keras實(shí)現(xiàn)

    python神經(jīng)網(wǎng)絡(luò)facenet人臉檢測(cè)及keras實(shí)現(xiàn)

    這篇文章主要為大家介紹了python神經(jīng)網(wǎng)絡(luò)facenet人臉檢測(cè)及keras實(shí)現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-05-05
  • 解決Python 中英文混輸格式對(duì)齊的問(wèn)題

    解決Python 中英文混輸格式對(duì)齊的問(wèn)題

    今天小編就為大家分享一篇解決Python 中英文混輸格式對(duì)齊的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-07-07
  • 強(qiáng)悍的Python讀取大文件的解決方案

    強(qiáng)悍的Python讀取大文件的解決方案

    今天小編就為大家分享一篇關(guān)于強(qiáng)悍的Python讀取大文件的解決方案,小編覺(jué)得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來(lái)看看吧
    2019-02-02

最新評(píng)論