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

Python實(shí)現(xiàn)輕松處理兩行表頭Excel并可視化分析(附完整代碼)

 更新時(shí)間:2025年11月20日 10:02:28   作者:IT小本本  
在日常的數(shù)據(jù)處理中,我們經(jīng)常會(huì)遇到多級(jí)表頭的 Excel 文件,本文通過(guò)一個(gè)實(shí)際案例,帶你完整了解讀取 Excel ,整理多級(jí)表頭 ,提取庫(kù)存,銷量的數(shù)據(jù) ,繪圖可視化的完整步驟吧

在日常的數(shù)據(jù)處理中,我們經(jīng)常會(huì)遇到多級(jí)表頭的 Excel 文件:例如“商品1 / 庫(kù)存 / 銷量”這種兩行結(jié)構(gòu)。 如果不正確處理表頭,Python 在讀取時(shí)就會(huì)出現(xiàn)列名混亂、KeyError 等問(wèn)題。

本文通過(guò)一個(gè)實(shí)際案例,帶你完整走一遍:讀取 Excel → 整理多級(jí)表頭 → 提取庫(kù)存→銷量的數(shù)據(jù) → 繪圖可視化。

一、示例 Excel 數(shù)據(jù)結(jié)構(gòu)

數(shù)據(jù)格式如下(前兩行為表頭):

這種結(jié)構(gòu)是典型的 MultiIndex 多級(jí)表頭。

若直接讀取,會(huì)導(dǎo)致列名變成:

('商品1', '庫(kù)存'), ('商品1', '銷量')

我們需要把它整理成更易操作的形式,例如:

商品1-庫(kù)存
商品1-銷量
商品2-庫(kù)存
商品2-銷量

二、Python 讀取多級(jí)表頭(關(guān)鍵步驟)

使用 header=[0,1] 閱讀兩行表頭:

df = pd.read_excel("data.xlsx", header=[0, 1])

隨后整合成單行列名:

new_cols = []
for col1, col2 in df.columns:
    if col1 == '門店編碼':
        new_cols.append('門店編碼')
    else:
        new_cols.append(f"{col1}-{col2}")
df.columns = new_cols

這樣就能避免 KeyError,并讓所有列名清晰易用。

三、提取庫(kù)存 > 銷量的所有門店商品

邏輯很簡(jiǎn)單:

如果 庫(kù)存 > 銷量 :輸出該商品

完整代碼如下:

result = []

for index, row in df.iterrows():
    store = row['門店編碼']

    for i in range(1, 6):
        inv = row[f"商品{i}-庫(kù)存"]
        sales = row[f"商品{i}-銷量"]

        if inv > sales:
            result.append([store, f"商品{i}", inv])

result_df = pd.DataFrame(result, columns=['門店', '商品', '庫(kù)存'])
print(result_df)

輸出示例:

門店    商品   庫(kù)存
A039  商品1    7
A039  商品2    2
A288  商品3   13
A335  商品4    6

這樣我們就得到了所有“庫(kù)存高于銷量”的商品清單。

四、庫(kù)存分析可視化(3 個(gè)圖表)

下面使用 Matplotlib + Seaborn 來(lái)生成直觀清晰的圖表。

圖表 1:每個(gè)門店庫(kù)存>銷量的商品數(shù)量(條形圖)

import matplotlib.pyplot as plt

store_count = result_df.groupby("門店").size()

plt.figure(figsize=(10,5))
store_count.plot(kind='bar')
plt.title("每個(gè)門店 庫(kù)存>銷量 的商品數(shù)量")
plt.xlabel("門店")
plt.ylabel("商品數(shù)量")
plt.tight_layout()
plt.show()

可幫助判斷:哪些門店庫(kù)存積壓最大。

圖表 2:每個(gè)商品庫(kù)存>銷量出現(xiàn)次數(shù)(條形圖)

product_count = result_df.groupby("商品").size()

plt.figure(figsize=(8,5))
product_count.plot(kind='bar')
plt.title("各商品 庫(kù)存>銷量 次數(shù)統(tǒng)計(jì)")
plt.xlabel("商品")
plt.ylabel("次數(shù)")
plt.tight_layout()
plt.show()

用于發(fā)現(xiàn):哪些商品容易滯銷

圖表 3:庫(kù)存 - 銷量 熱力圖(直觀查看差異)

import seaborn as sns

matrix = {}

for index, row in df.iterrows():
    store = row['門店編碼']
    diff_list = []
    for i in range(1, 6):
        diff = row[f"商品{i}-庫(kù)存"] - row[f"商品{i}-銷量"]
        diff_list.append(diff)
    matrix[store] = diff_list

heat_df = pd.DataFrame(matrix, index=[f"商品{i}" for i in range(1, 6)])

plt.figure(figsize=(12,6))
sns.heatmap(heat_df, annot=True, fmt="d", cmap="YlGnBu")
plt.title("庫(kù)存 - 銷量 熱力圖")
plt.xlabel("門店")
plt.ylabel("商品")
plt.tight_layout()
plt.show()

熱力圖能夠一眼看到:

  • 哪些門店庫(kù)存偏高
  • 哪些商品表現(xiàn)更好或更差

是庫(kù)存分析中非常有價(jià)值的圖。

到此這篇關(guān)于Python實(shí)現(xiàn)輕松處理兩行表頭Excel并可視化分析(附完整代碼)的文章就介紹到這了,更多相關(guān)Python處理兩行表頭Excel內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一文詳解如何在Python中從字符串中提取部分內(nèi)容

    一文詳解如何在Python中從字符串中提取部分內(nèi)容

    這篇文章主要介紹了如何在Python中從字符串中提取部分內(nèi)容的相關(guān)資料,包括使用正則表達(dá)式、Pyparsing庫(kù)、AST(抽象語(yǔ)法樹(shù))、字符串操作和函數(shù)式編程,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2025-04-04
  • 詳細(xì)分析Python collections工具庫(kù)

    詳細(xì)分析Python collections工具庫(kù)

    這篇文章主要介紹了詳解Python collections工具庫(kù)的相關(guān)資料,文中講解非常細(xì)致,代碼幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 對(duì)numpy中的transpose和swapaxes函數(shù)詳解

    對(duì)numpy中的transpose和swapaxes函數(shù)詳解

    今天小編就為大家分享一篇對(duì)numpy中的transpose和swapaxes函數(shù)詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-08-08
  • 解決TensorFlow調(diào)用Keras庫(kù)函數(shù)存在的問(wèn)題

    解決TensorFlow調(diào)用Keras庫(kù)函數(shù)存在的問(wèn)題

    這篇文章主要介紹了解決TensorFlow調(diào)用Keras庫(kù)函數(shù)存在的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-07-07
  • python中with語(yǔ)句結(jié)合上下文管理器操作詳解

    python中with語(yǔ)句結(jié)合上下文管理器操作詳解

    這篇文章主要給大家介紹了關(guān)于python中with語(yǔ)句結(jié)合上下文管理器操作的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • python?memory_profiler庫(kù)生成器和迭代器內(nèi)存占用的時(shí)間分析

    python?memory_profiler庫(kù)生成器和迭代器內(nèi)存占用的時(shí)間分析

    這篇文章主要介紹了python?memory_profiler庫(kù)生成器和迭代器內(nèi)存占用的時(shí)間分析,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,感興趣的小伙伴可以參考一下
    2022-06-06
  • python利用print()打印田字格練習(xí)題詳解

    python利用print()打印田字格練習(xí)題詳解

    print在 Python3.x是一個(gè)函數(shù),但在Python2.x版本不是一個(gè)函數(shù),只是一個(gè)關(guān)鍵字,這篇文章主要給大家介紹了關(guān)于python利用print()打印田字格練習(xí)題的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • 七牛云的python sdk 批量刪除資源的操作方法

    七牛云的python sdk 批量刪除資源的操作方法

    今天做項(xiàng)目的時(shí)候用到七牛云,關(guān)于對(duì)資源的操作是在后端做的,用的SDK,這篇文章主要介紹了七牛云的python sdk 是如何 批量刪除資源的,需要的朋友可以參考下
    2021-10-10
  • Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題

    Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題

    這篇文章主要介紹了Python 解決火狐瀏覽器不彈出下載框直接下載的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-03-03
  • Python使用SQLAlchemy操作單表的完整實(shí)戰(zhàn)指南

    Python使用SQLAlchemy操作單表的完整實(shí)戰(zhàn)指南

    在 Python 的數(shù)據(jù)開(kāi)發(fā)與后端工程中,SQLAlchemy 是最流行、最強(qiáng)大的 ORM 框架之一, 它不僅可以讓我們像操作對(duì)象一樣操作數(shù)據(jù)庫(kù),還能同時(shí)支持 ORM 與 原生 SQL 兩種方式,本文將通過(guò)一個(gè)完整的示例詳細(xì)介紹 SQLAlchemy 的單表操作,需要的朋友可以參考下
    2025-11-11

最新評(píng)論

调兵山市| 金秀| 怀宁县| 南和县| 凉山| 台北县| 本溪市| 荥阳市| 涪陵区| 太康县| 庄河市| 玛多县| 南宫市| 乃东县| 许昌市| 神池县| 毕节市| 资兴市| 冀州市| 赤水市| 东山县| 吴忠市| 渑池县| 两当县| 恩平市| 大兴区| 公主岭市| 萨迦县| 扶余县| 罗江县| 翁牛特旗| 惠水县| 全椒县| 化州市| 观塘区| 阳江市| 工布江达县| 泾阳县| 博客| 阿城市| 隆安县|