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

Python用字典統(tǒng)計CSV數據的實現示例

 更新時間:2024年05月23日 10:10:00   作者:mb63bf950cadbf9  
python提供了許多處理CSV文件的工具,其中字典是一個非常高效的數據結構,本文主要介紹了Python用字典統(tǒng)計CSV數據的實現示例,具有一定的參考價值,感興趣的可以了解一下

在數據分析過程中,CSV(Comma-Separated Values)文件是一種常見的數據存儲格式。Python 提供了許多處理CSV文件的工具,其中字典(dictionary)是一個非常高效的數據結構,可以用來統(tǒng)計和處理CSV數據。本文將詳細介紹如何使用Python字典統(tǒng)計CSV數據,并通過多個實例來說明其應用場景。

一、準備工作

在開始之前,我們需要安裝和導入必要的庫。這里我們使用Python內置的csv模塊來讀取CSV文件,同時使用collections模塊中的defaultdict來方便地統(tǒng)計數據。

import csv
from collections import defaultdict

二、讀取CSV文件

首先,讓我們看看如何讀取一個CSV文件。假設我們有一個名為data.csv的文件,內容如下:

name,age,city
Alice,30,New York
Bob,25,Los Angeles
Alice,32,New York
David,25,Chicago

我們可以使用以下代碼來讀取文件:

filename = 'data.csv'

with open(filename, mode='r', newline='') as file:
    reader = csv.DictReader(file)
    data = [row for row in reader]

print(data)

運行上述代碼會輸出:

[{'name': 'Alice', 'age': '30', 'city': 'New York'},
 {'name': 'Bob', 'age': '25', 'city': 'Los Angeles'},
 {'name': 'Alice', 'age': '32', 'city': 'New York'},
 {'name': 'David', 'age': '25', 'city': 'Chicago'}]

三、使用字典統(tǒng)計數據

統(tǒng)計每個城市的人員數量

我們可以使用字典來統(tǒng)計每個城市的人員數量:

city_count = defaultdict(int)

for row in data:
    city = row['city']
    city_count[city] += 1

print(dict(city_count))

運行結果:

{'New York': 2, 'Los Angeles': 1, 'Chicago': 1}

統(tǒng)計每個名字出現的次數

類似地,我們可以統(tǒng)計每個名字出現的次數:

name_count = defaultdict(int)

for row in data:
    name = row['name']
    name_count[name] += 1

print(dict(name_count))

運行結果:

{'Alice': 2, 'Bob': 1, 'David': 1}

統(tǒng)計每個城市的平均年齡

我們還可以統(tǒng)計每個城市的平均年齡。這需要兩個步驟:首先統(tǒng)計每個城市的總年齡和人數,然后計算平均年齡。

city_age_sum = defaultdict(int)
city_count = defaultdict(int)

for row in data:
    city = row['city']
    age = int(row['age'])
    city_age_sum[city] += age
    city_count[city] += 1

city_avg_age = {city: city_age_sum[city] / city_count[city] for city in city_age_sum}

print(city_avg_age)

運行結果:

{'New York': 31.0, 'Los Angeles': 25.0, 'Chicago': 25.0}

四、多場景應用

除了上述基礎統(tǒng)計,字典還可以用于更復雜的數據處理場景。下面是幾個應用實例:

統(tǒng)計每個名字在每個城市的出現次數

name_city_count = defaultdict(lambda: defaultdict(int))

for row in data:
    name = row['name']
    city = row['city']
    name_city_count[name][city] += 1

print({name: dict(city_count) for name, city_count in name_city_count.items()})

運行結果:

{'Alice': {'New York': 2},
 'Bob': {'Los Angeles': 1},
 'David': {'Chicago': 1}}

統(tǒng)計每個年齡段的人數

假設我們要統(tǒng)計20-29歲、30-39歲等年齡段的人數:

age_group_count = defaultdict(int)

for row in data:
    age = int(row['age'])
    if 20 <= age < 30:
        age_group = '20-29'
    elif 30 <= age < 40:
        age_group = '30-39'
    # 其他年齡段可以繼續(xù)添加
    else:
        age_group = 'Other'
    
    age_group_count[age_group] += 1

print(dict(age_group_count))

運行結果:

{'30-39': 2, '20-29': 2}

五、總結

本文介紹了如何使用Python字典統(tǒng)計CSV數據,并通過多個實例展示了其在不同場景下的應用。字典作為一種靈活高效的數據結構,可以極大地簡化數據統(tǒng)計和處理的過程。希望這些示例能夠幫助你更好地理解和應用Python字典來處理實際數據分析任務。

到此這篇關于Python用字典統(tǒng)計CSV數據的實現示例的文章就介紹到這了,更多相關Python 字典統(tǒng)計CSV內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • Python+Matplotlib繪制雙y軸圖像的示例代碼

    Python+Matplotlib繪制雙y軸圖像的示例代碼

    這篇文章主要介紹了如何利用python的matplotlib繪制雙Y軸圖像,文中有非常詳細的代碼示例,對正在學習python的小伙伴們有很好地幫助,需要的朋友可以參考下
    2022-04-04
  • python繪制二維直方圖的代碼實現

    python繪制二維直方圖的代碼實現

    本文主要介紹了python繪制二維直方圖的代碼實現,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-07-07
  • 基于Python和OpenCV實現攝像頭實時文檔掃描與透視矯正

    基于Python和OpenCV實現攝像頭實時文檔掃描與透視矯正

    本文基于OpenCV和Python設計并實現了一套實時文檔掃描系統(tǒng),系統(tǒng)通過攝像頭采集視頻流,運用邊緣檢測、輪廓提取、多邊形逼近、透視變換及自適應二值化等技術,自動識別并矯正文檔為正視掃描圖,文章詳細介紹了系統(tǒng)的技術架構、核心算法原理及工程實現細節(jié)
    2026-04-04
  • PyCharm解決虛擬環(huán)境pip無法使用的問題及分析

    PyCharm解決虛擬環(huán)境pip無法使用的問題及分析

    文章主要介紹了在PyCharm中使用虛擬環(huán)境時遇到的一些bug及其解決方法,包括新建虛擬環(huán)境時pip命令報錯和更換路徑后pip命令無法使用的問題,此外,還介紹了如何在虛擬環(huán)境中安裝軟件包并與全局軟件包進行隔離,以及如何進入和退出虛擬環(huán)境
    2026-01-01
  • Python AST 模塊實戰(zhàn)演示

    Python AST 模塊實戰(zhàn)演示

    Python的ast模塊提供了一種處理Python代碼的強大工具,通過解析代碼生成抽象語法樹(AST),可以進行代碼分析、修改和生成,接下來通過本文給大家介紹Python AST 模塊實戰(zhàn)教程,感興趣的朋友跟隨小編一起看看吧
    2025-11-11
  • django解決跨域請求的問題詳解

    django解決跨域請求的問題詳解

    這篇文章主要介紹了django解決跨域請求的問題詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • WxPython建立批量錄入框窗口

    WxPython建立批量錄入框窗口

    這篇文章主要為大家詳細介紹了WxPython建立批量錄入框窗口,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-02-02
  • python3.7調試的實例方法

    python3.7調試的實例方法

    在本篇文章里小編給大家整理的是一篇關于python3.7調試的實例方法,需要的朋友可以學習下。
    2020-07-07
  • Python讀取系統(tǒng)文件夾內所有文件并統(tǒng)計數量的方法

    Python讀取系統(tǒng)文件夾內所有文件并統(tǒng)計數量的方法

    今天小編就為大家分享一篇Python讀取系統(tǒng)文件夾內所有文件并統(tǒng)計數量的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-10-10
  • Python教程pandas數據分析去重復值

    Python教程pandas數據分析去重復值

    Pandas指定行進行去重更新值,加載數據sample抽樣函數,指定需要更新的值append直接添加append函數用法,根據某一列key值進行去重key唯一
    2021-09-09

最新評論

苍南县| 承德市| 永顺县| 衡东县| 阿克苏市| 安顺市| 莎车县| 沂水县| 巴彦县| 朝阳县| 绥棱县| 佳木斯市| 西华县| 黔东| 伽师县| 黎川县| 木兰县| 瑞昌市| 大新县| 宾阳县| 田林县| 营口市| 兰州市| 安庆市| 读书| 松江区| 陇川县| 象山县| 郑州市| 奇台县| 密山市| 南开区| 中方县| 天长市| 乡城县| 新安县| 东方市| 尉犁县| 多伦县| 赤峰市| 南通市|