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

Python用字典統(tǒng)計CSV數(shù)據(jù)的實現(xiàn)示例

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

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

一、準備工作

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

import csv
from collections import defaultdict

二、讀取CSV文件

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

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)計數(shù)據(jù)

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

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

city_count = defaultdict(int)

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

print(dict(city_count))

運行結(jié)果:

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

統(tǒng)計每個名字出現(xiàn)的次數(shù)

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

name_count = defaultdict(int)

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

print(dict(name_count))

運行結(jié)果:

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

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

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

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)

運行結(jié)果:

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

四、多場景應(yīng)用

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

統(tǒng)計每個名字在每個城市的出現(xiàn)次數(shù)

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()})

運行結(jié)果:

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

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

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

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))

運行結(jié)果:

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

五、總結(jié)

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

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

相關(guān)文章

  • Python使用Chrome插件實現(xiàn)爬蟲過程圖解

    Python使用Chrome插件實現(xiàn)爬蟲過程圖解

    這篇文章主要介紹了Python使用Chrome插件實現(xiàn)爬蟲,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-06-06
  • Cython編譯python為so 代碼加密示例

    Cython編譯python為so 代碼加密示例

    今天小編就為大家分享一篇Cython編譯python為so 代碼加密示例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-12-12
  • python_opencv用線段畫封閉矩形的實例

    python_opencv用線段畫封閉矩形的實例

    今天小編就為大家分享一篇python_opencv用線段畫封閉矩形的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實例

    Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實例

    今天小編就為大家分享一篇Python下使用Scrapy爬取網(wǎng)頁內(nèi)容的實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-05-05
  • Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法

    Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法

    今天小編就為大家分享一篇Python小工具之消耗系統(tǒng)指定大小內(nèi)存的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-12-12
  • 詳解Python locals()的陷阱

    詳解Python locals()的陷阱

    這篇文章主要介紹了詳解Python locals()的陷阱,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-03-03
  • Python操作Excel的學(xué)習(xí)筆記

    Python操作Excel的學(xué)習(xí)筆記

    這篇文章主要介紹了Python操作Excel的學(xué)習(xí)筆記,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-02-02
  • python中精確輸出JSON浮點數(shù)的方法

    python中精確輸出JSON浮點數(shù)的方法

    這篇文章主要介紹了python中精確輸出JSON浮點數(shù)的方法,需要的朋友可以參考下
    2014-04-04
  • Django項目uwsgi+Nginx保姆級部署教程實現(xiàn)

    Django項目uwsgi+Nginx保姆級部署教程實現(xiàn)

    這篇文章主要介紹了Django項目uwsgi+Nginx保姆級部署教程實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • 如何解決django配置settings時遇到Could not import settings ''conf.local''

    如何解決django配置settings時遇到Could not import settings ''conf.loca

    這里記錄一下在項目中遇到django配置settings時遇到Could not import settings 'conf.local'的解決方法,有同樣問題的小伙伴們參考下吧
    2014-11-11

最新評論