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

Python高效處理Excel文件的12個Pandas函數(shù)總結(jié)

 更新時間:2025年12月02日 09:47:17   作者:東眠的魚  
Pandas是Python中處理Excel文件的強(qiáng)大工具,下面我將詳細(xì)介紹12個最常用的高效處理Excel文件的Pandas函數(shù),并提供代碼演示,需要的朋友可以參考下

1.“pd.read_excel()”- 讀取Excel文件

  • 讀取Excel文件到DataFrame中,支持多種參數(shù)控制讀取方式。
import pandas as pd

# 基本讀取
df = pd.read_excel('data.xlsx')

# 讀取特定工作表
df = pd.read_excel('data.xlsx', sheet_name='Sheet1')

# 讀取特定列
df = pd.read_excel('data.xlsx', usecols=['Name', 'Age'])

# 讀取特定行范圍
df = pd.read_excel('data.xlsx', nrows=100)  # 只讀取前100行

2.“DataFrame.to_excel()”- 寫入Excel文件

  • 將DataFrame寫入Excel文件,支持多種格式控制。
# 基本寫入
df.to_excel('output.xlsx')

# 不寫入索引
df.to_excel('output.xlsx', index=False)

# 寫入特定工作表
with pd.ExcelWriter('output.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1')

# 格式化輸出
with pd.ExcelWriter('formatted.xlsx', engine='xlsxwriter') as writer:
    df.to_excel(writer, sheet_name='Sheet1')
    workbook = writer.book
    worksheet = writer.sheets['Sheet1']
    
    # 設(shè)置列寬
    worksheet.set_column('A:A', 20)
    
    # 添加格式
    format1 = workbook.add_format({'bold': True, 'font_color': 'red'})
    worksheet.write(0, 0, 'Important Header', format1)

3. “pd.ExcelFile”- 處理多個工作表

  • 高效處理包含多個工作表的Excel文件。
with pd.ExcelFile('multi_sheet.xlsx') as xls:
    # 獲取所有工作表名
    sheet_names = xls.sheet_names
    
    # 讀取特定工作表
    df1 = pd.read_excel(xls, sheet_names[0])
    df2 = pd.read_excel(xls, sheet_names[1])
    
    # 或者使用字典存儲所有工作表
    all_sheets = {sheet: pd.read_excel(xls, sheet) for sheet in sheet_names}

4.“DataFrame.head()”- 查看前幾行

  • 快速查看DataFrame的前幾行數(shù)據(jù)。
# 查看前5行(默認(rèn))
print(df.head())

# 查看前10行
print(df.head(10))

5.“DataFrame.tail()”- 查看后幾行

  • 快速查看DataFrame的后幾行數(shù)據(jù)。
# 查看后5行(默認(rèn))
print(df.tail())

# 查看后3行
print(df.tail(3))

6.“DataFrame.info()”- 查看數(shù)據(jù)概覽

  • 獲取DataFrame的摘要信息,包括列數(shù)據(jù)類型和內(nèi)存使用情況。
df.info()

7. “DataFrame.describe()”- 統(tǒng)計摘要

  • 生成描述性統(tǒng)計信息,包括計數(shù)、均值、標(biāo)準(zhǔn)差、最小值、四分位數(shù)和最大值。
# 對所有數(shù)值列生成統(tǒng)計信息
print(df.describe())

# 對特定列生成統(tǒng)計信息
print(df['Age'].describe())

# 包含非數(shù)值列
print(df.describe(include='all'))

8. “DataFrame.dropna()”- 處理缺失值

  • 刪除包含缺失值的行或列。
# 刪除包含任何缺失值的行
df_clean = df.dropna()

# 刪除包含任何缺失值的列
df_clean = df.dropna(axis=1)

# 只刪除全為缺失值的行
df_clean = df.dropna(how='all')

# 刪除在特定列中包含缺失值的行
df_clean = df.dropna(subset=['Age', 'Salary'])

9. “DataFrame.fillna()”- 填充缺失值

  • 用指定值或方法填充缺失值。
# 用0填充所有缺失值
df_filled = df.fillna(0)

# 用前一個有效值填充(向前填充)
df_filled = df.fillna(method='ffill')

# 用后一個有效值填充(向后填充)
df_filled = df.fillna(method='bfill')

# 用列均值填充
df_filled = df.fillna(df.mean())

# 對不同列使用不同的填充值
fill_values = {'Age': df['Age'].median(), 'Department': 'Unknown'}
df_filled = df.fillna(fill_values)

10. “DataFrame.groupby()”- 分組聚合

  • 根據(jù)一個或多個鍵對數(shù)據(jù)進(jìn)行分組,然后對每個組應(yīng)用聚合函數(shù)。
# 基本分組
grouped = df.groupby('Department')

# 計算每個部門的平均工資
avg_salary = grouped['Salary'].mean()

# 多列分組
multi_grouped = df.groupby(['Department', 'Gender'])

# 多種聚合操作
agg_result = multi_grouped['Salary'].agg(['mean', 'median', 'count'])

# 分組后應(yīng)用多個函數(shù)
result = df.groupby('Department').agg({'Salary': ['mean', 'max'],'Age': 'min'})

11.“DataFrame.merge()”- 合并數(shù)據(jù)

  • 基于共同列合并兩個DataFrame。
# 創(chuàng)建示例DataFrame
df1 = pd.DataFrame({
    'EmployeeID': [1, 2, 3],
    'Name': ['Alice', 'Bob', 'Charlie']})

df2 = pd.DataFrame({
    'EmployeeID': [1, 2, 4],
    'Salary': [70000, 80000, 90000]})

# 內(nèi)連接(默認(rèn))
merged = pd.merge(df1, df2, on='EmployeeID')

# 左連接
left_merged = pd.merge(df1, df2, on='EmployeeID', how='left')

# 右連接
right_merged = pd.merge(df1, df2, on='EmployeeID', how='right')

# 外連接
outer_merged = pd.merge(df1, df2, on='EmployeeID', how='outer')

# 合并多個鍵
df3 = pd.DataFrame({
    'EmployeeID': [1, 1, 2],
    'Date': ['2022-01-01', '2022-02-01', '2022-01-15'],
    'Performance': [4.5, 4.7, 3.9]})

merged_multi = pd.merge(df1, df3, on='EmployeeID')

12.“DataFrame.apply()”- 應(yīng)用自定義函數(shù)

  • 對DataFrame的行或列應(yīng)用自定義函數(shù)。
# 創(chuàng)建示例DataFrame
df = pd.DataFrame({
    'Name': ['Alice', 'Bob', 'Charlie'],
    'Age': [25, 30, 35],
    'Salary': [50000, 60000, 70000]})

# 對列應(yīng)用函數(shù) - 計算獎金(薪資的10%)
df['Bonus'] = df['Salary'].apply(lambda x: x * 0.1)

# 對行應(yīng)用函數(shù) - 創(chuàng)建全名
df['Full_Name'] = df.apply(lambda row: f"{row['Name']} ({row['Age']})", axis=1)

# 定義更復(fù)雜的函數(shù)
def calculate_tax(salary, age):
    if age > 30:
        return salary * 0.2
    else:
        return salary * 0.15

df['Tax'] = df.apply(lambda row: calculate_tax(row['Salary'], row['Age']), axis=1)

# 使用applymap對每個元素應(yīng)用函數(shù)(適用于元素級操作)
df = df.applymap(lambda x: str(x).upper() if isinstance(x, str) else x)

額外技巧:處理大文件

  • 對于大型Excel文件,可以使用chunksize參數(shù)分塊讀?。?/li>
# 分塊讀取大文件
chunk_size = 10000  # 每次讀取的行數(shù)
chunks = pd.read_excel('large_file.xlsx', chunksize=chunk_size)

# 處理每個塊
for i, chunk in enumerate(chunks):
    # 處理數(shù)據(jù)
    processed_chunk = process_data(chunk)
    
    # 寫入輸出文件(追加模式)
    if i == 0:
        processed_chunk.to_excel('output.xlsx', index=False)
    else:
        with pd.ExcelWriter('output.xlsx', mode='a', engine='openpyxl') as writer:
            processed_chunk.to_excel(writer, sheet_name=f'Chunk_{i}', index=False)

這些函數(shù)組合使用可以高效完成Excel數(shù)據(jù)的讀取、清洗、分析和輸出任務(wù)。根據(jù)具體需求選擇合適的函數(shù)和方法,可以顯著提高數(shù)據(jù)處理效率

總結(jié)

以上就是Python高效處理Excel文件的12個Pandas函數(shù)總結(jié)的詳細(xì)內(nèi)容,更多關(guān)于Python處理Excel的Pandas函數(shù)的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python中的字典合并與列表合并技巧

    Python中的字典合并與列表合并技巧

    這篇文章主要介紹了Python中的字典合并與列表合并技巧,下文圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一的的參考價值,需要的小伙伴可以參考一下
    2022-05-05
  • Python?PDF轉(zhuǎn)化wolrd代碼的寫法小結(jié)

    Python?PDF轉(zhuǎn)化wolrd代碼的寫法小結(jié)

    將PDF文件轉(zhuǎn)換為Word文檔的過程通常需要使用一些外部庫來實(shí)現(xiàn),因?yàn)镻ython本身并不直接支持這種轉(zhuǎn)換,這篇文章主要介紹了Python?PDF轉(zhuǎn)化wolrd代碼的寫法小結(jié),需要的朋友可以參考下
    2024-06-06
  • Python開發(fā)中最常見的5大性能陷阱及避免方法

    Python開發(fā)中最常見的5大性能陷阱及避免方法

    Python因其簡潔、易讀的語法和豐富的生態(tài)系統(tǒng)而廣受開發(fā)者喜愛,然而,這種簡單背后隱藏著一些性能陷阱,尤其是對于新手來說,本文將深入剖析Python開發(fā)中最常見的5大性能陷阱,并給出具體的優(yōu)化建議,需要的朋友可以參考下
    2026-03-03
  • python與QT聯(lián)合的詳細(xì)步驟記錄

    python與QT聯(lián)合的詳細(xì)步驟記錄

    這篇文章主要介紹了python與QT聯(lián)合的詳細(xì)步驟,文章還展示了如何在Python中調(diào)用QT的.ui文件來實(shí)現(xiàn)GUI界面,并介紹了多窗口的應(yīng)用,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2024-12-12
  • Django框架orM與自定義SQL語句混合事務(wù)控制操作

    Django框架orM與自定義SQL語句混合事務(wù)控制操作

    這篇文章主要介紹了Django框架orM與自定義SQL語句混合事務(wù)控制操作,結(jié)合實(shí)例形式分析了同一個方法里面既有ORM又有自定義SQL 語句的情況下事務(wù)控制相關(guān)操作技巧,需要的朋友可以參考下
    2019-06-06
  • Python中鎖Lock的類型舉例詳解

    Python中鎖Lock的類型舉例詳解

    這篇文章主要介紹了Python中鎖Lock類型的相關(guān)資料,包括線程鎖、進(jìn)程鎖、可重入鎖、信號量、條件變量和事件,這些鎖機(jī)制在多線程和多進(jìn)程編程中用于同步訪問共享資源,防止數(shù)據(jù)競爭和不一致問題,需要的朋友可以參考下
    2025-04-04
  • Flask 入門Web 微框架Hello Flask

    Flask 入門Web 微框架Hello Flask

    這篇文章主要介紹了 Flask 入門Web 微框架Hello Flask,F(xiàn)lask 是一個 Python 實(shí)現(xiàn)的 Web 微框架,之所以稱之為微框架,是因?yàn)?nbsp;Flask 核心簡單且易于擴(kuò)展,有兩個主要依賴,WSGI工具集:Werkzeug和模板引擎:Jinja2,Flask 只保留了 Web 開發(fā)的核心功能,需要的朋友可以參考一下
    2021-11-11
  • Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程

    Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程

    PyCharm 是 JetBrains 開發(fā)的一款 Python 跨平臺編輯器,下面這篇文章主要介紹了Pycharm連接遠(yuǎn)程服務(wù)器并遠(yuǎn)程調(diào)試的全過程,文中通過圖文介紹的非常詳細(xì),需要的朋友可以參考下
    2021-06-06
  • Python while、for、生成器、列表推導(dǎo)等語句的執(zhí)行效率測試

    Python while、for、生成器、列表推導(dǎo)等語句的執(zhí)行效率測試

    這篇文章主要介紹了Python while、for、生成器、列表推導(dǎo)等語句的執(zhí)行效率測試,本文分別用兩段程序測算出了各語句的執(zhí)行效率,然后總結(jié)了什么情況下使用什么語句優(yōu)先使用的語句等,需要的朋友可以參考下
    2015-06-06
  • Python自定義異常的全面指南(入門到實(shí)踐)

    Python自定義異常的全面指南(入門到實(shí)踐)

    想象你正在開發(fā)一個銀行系統(tǒng),用戶轉(zhuǎn)賬時余額不足,如果直接拋出ValueError,調(diào)用方很難區(qū)分是金額格式錯誤還是余額不足,這正是Python自定義異常的價值所在——它讓錯誤處理更精準(zhǔn)、代碼更易維護(hù)、調(diào)試更高效,本文將用最接地氣的方式,帶你掌握這個實(shí)用技能
    2025-08-08

最新評論

寻乌县| 桃江县| 萨嘎县| 万宁市| 皮山县| 平泉县| 东海县| 崇义县| 海林市| 剑河县| 乡宁县| 南开区| 疏附县| 宣城市| 内黄县| 长丰县| 上虞市| 漯河市| 海兴县| 岐山县| 仲巴县| 安乡县| 交口县| 兴仁县| 青神县| 盱眙县| 合水县| 江安县| 大洼县| 汕头市| 阿拉尔市| 旬邑县| 筠连县| 淮安市| 千阳县| 天长市| 桂阳县| 镇安县| 阜阳市| 信阳市| 贵定县|