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

Python+pandas實現(xiàn)Excel連續(xù)數(shù)據分組求平均值

 更新時間:2025年11月03日 08:38:05   作者:IT小本本  
本文將介紹如何用 Python + pandas 自動計算每組的平均值,并將結果寫回 Excel 文件,適用于實驗數(shù)據、財務分段統(tǒng)計、能源數(shù)據等場景,有需要的小伙伴可以了解下

一、問題

假設我們有以下 Excel 數(shù)據:

數(shù)據
10
20
30
(空)
5
15
(空)
100
200
300
400
(空)
50

我們的目標:

  • 根據空行劃分分組;
  • 計算每組的 平均值
  • 將結果插入 Excel 對應的分組末尾行。

期望結果:

分組平均值
第1組20
第2組10
第3組250
第4組50

二、核心思路

  • 使用 pandas 讀取 Excel 文件;
  • 遍歷數(shù)據列,用空值 (NaN) 或表格末尾作為分組邊界;
  • 對每組數(shù)字計算平均值;
  • 將結果插入新列“平均值”,顯示在每個分組的結尾行;
  • 輸出新的 Excel 文件。

三、完整 Python 代碼

import pandas as pd

# === 1. 讀取 Excel 文件 ===
df = pd.read_excel("data.xlsx")
data = df["數(shù)據"].tolist()

# === 2. 連續(xù)數(shù)字分組求平均值 ===
groups = []
current_group = []

for x in data:
    if pd.isna(x):  # 遇到空行,計算當前組平均值
        if current_group:
            avg = sum(current_group) / len(current_group)
            groups.append(avg)
            current_group = []
    else:
        current_group.append(x)

# 處理最后一組(末尾沒有空行的情況)
if current_group:
    avg = sum(current_group) / len(current_group)
    groups.append(avg)

# === 3. 將結果插入新列 ===
result_list = []
i = 0
current_group = []

for x in data:
    if pd.isna(x) or x == data[-1]:  # 空行或最后一行
        if i < len(groups):           # 防止越界
            result_list.append(groups[i])
            i += 1
        else:
            result_list.append(None)
    else:
        result_list.append(None)

# 處理最后一行是數(shù)字的情況
if len(result_list) < len(data):
    result_list.append(groups[-1])

df["平均值"] = result_list[:len(df)]

# === 4. 寫入 Excel 文件 ===
output_file = "data_avg_result.xlsx"
df.to_excel(output_file, index=False)

print("? 已生成新文件:", output_file)

四、運行效果

運行后生成文件 data_avg_result.xlsx

數(shù)據平均值
10
20
3020
(空)10
5
1510
(空)250
100
200
300
400250
(空)50
5050

每個分組的平均值自動填充在分組末尾行,非常直觀。

五、擴展思路

  • 通用統(tǒng)計函數(shù):可輕松改造成求和、最大值、最小值、計數(shù)等統(tǒng)計功能;
  • 批量處理 Excel:利用 os 模塊批量處理文件夾內的多個 Excel 表格;
  • 數(shù)據可視化:將分組平均值繪制柱狀圖或折線圖,直觀展示趨勢;
  • 高亮結果行:結合 openpyxlxlsxwriter 給平均值單元格設置顏色。

六、知識擴展

用 Python 實現(xiàn)連續(xù)數(shù)據分組求和并回寫

1.思路分析

核心思路如下:

  • 使用 pandas 讀取 Excel 文件;
  • 遍歷數(shù)據列,用空值(NaN)作為分組邊界;
  • 每組內求和;
  • 在分組結束行插入結果;
  • 輸出到新 Excel 文件。

2.完整代碼實現(xiàn)

import pandas as pd

# === 1. 讀取 Excel 文件 ===
# 請把 "data.xlsx" 改成你的文件名(路徑也可以)
df = pd.read_excel("data.xlsx")

# 假設數(shù)據列名為 “數(shù)據”,若你的列名不同,請改成對應名字
data = df["數(shù)據"].tolist()

# === 2. 連續(xù)數(shù)字分組求和 ===
groups = []
group_sum = 0

for x in data:
    if pd.isna(x):  # 遇到空單元格 → 分組結束
        groups.append(group_sum)
        group_sum = 0
    else:
        group_sum += x

# 最后一組
if group_sum != 0 or (len(data) and pd.isna(data[-1])):
    groups.append(group_sum)

# === 3. 將結果保存為新列 ===
# 為保持對應關系,插入空行方便對齊
result_list = []
i = 0
group_sum = 0

for x in data:
    if pd.isna(x):
        result_list.append(groups[i])
        i += 1
    else:
        result_list.append(None)

# 若最后沒有空行,也在末尾加上最后一個結果
if len(result_list) < len(data):
    result_list.append(groups[-1])

df["結果"] = result_list[:len(df)]

# === 4. 寫入新 Excel 文件 ===
output_file = "data_with_result.xlsx"
df.to_excel(output_file, index=False)

print("? 已生成新文件:", output_file)

4.運行效果

執(zhí)行完代碼后,會在當前目錄生成一個名為:

data_with_result.xlsx

七、小結

本文介紹了一種常見且高效的 Excel 自動化方法:使用 pandas 結合空行劃分分組,自動計算每組的平均值。

核心思路一句話總結:“以空行為分組邊界,按組計算平均值,并寫回 Excel。”

這種技巧在實驗數(shù)據統(tǒng)計、財務報表、能源數(shù)據分析等場景中非常實用。

以上就是Python+pandas實現(xiàn)Excel連續(xù)數(shù)據分組求平均值的詳細內容,更多關于Python計算平均值的資料請關注腳本之家其它相關文章!

相關文章

  • Python類的詳細定義與使用案例(實例講解)

    Python類的詳細定義與使用案例(實例講解)

    這篇文章主要給大家介紹了關于Python類的詳細定義與使用案例的相關資料,在Python中類表示具有相同屬性和方法的對象的集合,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2023-10-10
  • Python中處理亂碼(Mojibake)問題的解決方法

    Python中處理亂碼(Mojibake)問題的解決方法

    文章摘要:本文探討了Python中處理亂碼(Mojibake)問題的解決方法,亂碼產生的原因是編碼與解碼規(guī)則不一致,作者介紹了通過分析二進制特征來識別編碼的方法:UTF-8通常有3字節(jié)中文特征,GBK則為雙字節(jié)結構,推薦使用charset-normalizer庫自動檢測編碼,并提供了實戰(zhàn)案例演示
    2026-02-02
  • python按綜合、銷量排序抓取100頁的淘寶商品列表信息

    python按綜合、銷量排序抓取100頁的淘寶商品列表信息

    這篇文章主要為大家詳細介紹了python按綜合、銷量排序抓取100頁的淘寶商品列表信息,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Python Matplotlib簡易教程(小白教程)

    Python Matplotlib簡易教程(小白教程)

    這篇文章主要介紹了Python Matplotlib簡易教程(小白教程),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • 10個有用的Python字符串函數(shù)小結

    10個有用的Python字符串函數(shù)小結

    本文主要介紹了10個有用的Python字符串函數(shù)小結,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • Python訪問本地deepseek示例【含deepseek本地部署】

    Python訪問本地deepseek示例【含deepseek本地部署】

    這篇文章主要介紹了Python訪問本地deepseek功能,結合實例形式分析了使用Ollama本地部署deepseek以及python訪問本地deepseek的過程,需要的朋友可以參考下
    2018-06-06
  • 用smtplib和email封裝python發(fā)送郵件模塊類分享

    用smtplib和email封裝python發(fā)送郵件模塊類分享

    本文針對發(fā)郵件相關的操作進行了封裝,包括發(fā)送文本、HTML、帶附件的郵件,使用Python發(fā)郵件,主要用到smtplib和email兩個模塊,需要的朋友可以參考下
    2014-02-02
  • Python中rasterio庫的實現(xiàn)

    Python中rasterio庫的實現(xiàn)

    Rasterio是一個用于讀寫光柵數(shù)據的Python庫,它專注于快速和可靠地處理大規(guī)模地理空間柵格數(shù)據,本文主要介紹了Python中rasterio庫的實現(xiàn),感興趣的可以了解一下
    2025-04-04
  • Python open()文件處理使用介紹

    Python open()文件處理使用介紹

    這篇文章主要介紹了Python open()文件處理使用介紹,需要的朋友可以參考下
    2014-11-11
  • Python+Wordpress制作小說站

    Python+Wordpress制作小說站

    本文給大家講解的是使用python實現(xiàn)采集并入庫到WordPress小說站中,非常的簡單使用,有需要的小伙伴可以參考下
    2017-04-04

最新評論

天津市| 延庆县| 泰州市| 和静县| 历史| 哈密市| 山阳县| 修文县| 安宁市| 大冶市| 扬中市| 邮箱| 岳池县| 玉林市| 哈尔滨市| 兰西县| 晴隆县| 张家港市| 和政县| 蓬溪县| 望奎县| 元阳县| 龙井市| 平湖市| 兴城市| 博罗县| 信丰县| 鄂托克旗| 云安县| 城市| 泉州市| 肇庆市| 贡嘎县| 黄大仙区| 荆州市| 夏河县| 阳曲县| 姜堰市| 潜江市| 普安县| 泸水县|