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

Pandas技巧分享之讀取多個(gè)文件

 更新時(shí)間:2023年07月05日 08:55:01   作者:databook  
日常分析數(shù)據(jù)時(shí),只有單一數(shù)據(jù)文件的情況其實(shí)很少見,更多的情況是,從同一個(gè)數(shù)據(jù)來源定期或不定期的采集了很多數(shù)據(jù)文件,那么如何讀取多個(gè)文件呢,下面就和大家簡單講講

日常分析數(shù)據(jù)時(shí),只有單一數(shù)據(jù)文件的情況其實(shí)很少見,更多的情況是,我們從同一個(gè)數(shù)據(jù)來源定期或不定期的采集了很多數(shù)據(jù)文件;或者從不同的數(shù)據(jù)源采集多種不同格式的數(shù)據(jù)文件。

在這樣的情況下,分析數(shù)據(jù)之前,需要將不同的數(shù)據(jù)集合并起來。合并數(shù)據(jù)一般有兩個(gè)維度,一是同構(gòu)的數(shù)據(jù)集合并后行數(shù)增加;一是異構(gòu)的數(shù)據(jù)集合并后列數(shù)增加。

1. 同構(gòu)數(shù)據(jù)集

比如我們采集了3個(gè)不同年份的人口統(tǒng)計(jì)文件,分別為:

import pandas as pd
fp1 = "population1.csv"
df = pd.read_csv(fp1)
df

import pandas as pd
fp2 = "population2.csv"
df = pd.read_csv(fp2)
df

import pandas as pd
fp3 = "population3.csv"
df = pd.read_csv(fp3)
df

合并所有的數(shù)據(jù)集可以用 pd.concat 方法,不過一個(gè)一個(gè)文件讀取之后再合并比較麻煩。

如果文件名稱有規(guī)律的話(一般定期采集的數(shù)據(jù)集文件,文件名都有一定的規(guī)律),可以通過 glob 庫(支持通配符匹配)來匹配所有數(shù)據(jù)文件。

然后利用python代碼的靈活性一次合并所有的數(shù)據(jù)。

from glob import glob
files = sorted(glob("./population[1-3].csv"))
df = pd.concat((pd.read_csv(f) for f in files))
df

這樣合并之后,發(fā)現(xiàn)索引是有重復(fù)的,如果要保持索引的唯一性,可以在合并時(shí)指定 ignore_index=True。

df = pd.concat((pd.read_csv(f) for f in files), ignore_index=True)
df

2. 異構(gòu)數(shù)據(jù)集

異構(gòu)的數(shù)據(jù)集指數(shù)據(jù)結(jié)構(gòu)不一樣的數(shù)據(jù),一般來自于不同的數(shù)據(jù)源。

比如:

import pandas as pd
fp1 = "population-total.csv"
df = pd.read_csv(fp1)
df

import pandas as pd
fp2 = "population-man.csv"
df = pd.read_csv(fp2)
df

import pandas as pd
fp3 = "population-woman.csv"
df = pd.read_csv(fp3)
df

合并的方式和前面按行合并類似,區(qū)別在于指定 axis=1。

from glob import glob
files = sorted(glob("./population-*.csv"))
df = pd.concat((pd.read_csv(f) for f in files), axis=1)
df

合并之后發(fā)現(xiàn)有重復(fù)的列,對于重復(fù)的行,可以簡單的通過 drop_duplicates()方法來去重,去除重復(fù)的列則需要一些技巧。

df = df.loc[:, ~df.columns.duplicated()]
df

這樣就去除了重復(fù)的列,完成了異構(gòu)數(shù)據(jù)集的合并。

到此這篇關(guān)于Pandas技巧分享之讀取多個(gè)文件的文章就介紹到這了,更多相關(guān)Pandas讀取多個(gè)文件內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Python使用pymeter操作JMeter的教程詳解

    Python使用pymeter操作JMeter的教程詳解

    pymeter?是一個(gè)?Python?庫,它可以以編程方式創(chuàng)建和運(yùn)行?JMeter?測試計(jì)劃,下面就跟隨小編一起來看看Python如何使用pymeter操作JMeter的吧
    2024-01-01
  • Python實(shí)現(xiàn)的飛速中文網(wǎng)小說下載腳本

    Python實(shí)現(xiàn)的飛速中文網(wǎng)小說下載腳本

    這篇文章主要介紹了Python實(shí)現(xiàn)的飛速中文網(wǎng)小說下載腳本,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下
    2015-04-04
  • python用模塊zlib壓縮與解壓字符串和文件的方法

    python用模塊zlib壓縮與解壓字符串和文件的方法

    Python標(biāo)準(zhǔn)模塊中,有多個(gè)模塊用于數(shù)據(jù)的壓縮與解壓縮,如zipfile,gzip, bz2等等。這篇文章主要給大家介紹了python如何利用模塊zlib壓縮與解壓字符串和文件的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。
    2016-12-12
  • python實(shí)現(xiàn)雙色球隨機(jī)選號(hào)

    python實(shí)現(xiàn)雙色球隨機(jī)選號(hào)

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)雙色球隨機(jī)選號(hào),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • 關(guān)于自動(dòng)化測試框架pytest的Fixture固件

    關(guān)于自動(dòng)化測試框架pytest的Fixture固件

    這篇文章主要介紹了關(guān)于自動(dòng)化測試框架pytest的Fixture固件,Fixture它其實(shí)就是一些函數(shù),會(huì)在執(zhí)行測試方法/測試函數(shù)前后加載運(yùn)行它們,需要的朋友可以參考下
    2023-03-03
  • Python數(shù)據(jù)抓取爬蟲代理防封IP方法

    Python數(shù)據(jù)抓取爬蟲代理防封IP方法

    在本篇內(nèi)容里小編給大家分享了關(guān)于Python數(shù)據(jù)抓取爬蟲代理防封IP方法講解,需要的朋友們可以跟著學(xué)習(xí)下。
    2018-12-12
  • 基于Python實(shí)現(xiàn)一個(gè)文件相似度檢測工具

    基于Python實(shí)現(xiàn)一個(gè)文件相似度檢測工具

    本文介紹基于Python的文件相似度檢測工具,支持余弦、Jaccard、編輯距離等算法,具備預(yù)處理、閾值判斷和健壯性處理,適用于文檔查重、代碼檢測及版本比較,需要的朋友可以參考下
    2025-07-07
  • python使用PIL和matplotlib獲取圖片像素點(diǎn)并合并解析

    python使用PIL和matplotlib獲取圖片像素點(diǎn)并合并解析

    這篇文章主要介紹了python使用PIL和matplotlib獲取圖片像素點(diǎn)并合并解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-09-09
  • Python中的datetime包與time包包和模塊詳情

    Python中的datetime包與time包包和模塊詳情

    這篇文章主要介紹了Python中的datetime包與datetime包和模塊詳情,文章圍繞主題展開詳細(xì)內(nèi)容,具有一的的參考價(jià)值,需要的小伙伴可以參考一下,希望對你有所幫助
    2022-02-02
  • 一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用

    一次搞懂hasattr()/getattr()/setattr()在Python中的應(yīng)用

    在Python中,hasattr()、getattr()和setattr()是一組內(nèi)置函數(shù),本文將從入門到精通,全面介紹hasattr()、getattr()和setattr()函數(shù)的用法和相關(guān)知識(shí)點(diǎn),需要的可以了解下
    2023-08-08

最新評論

旌德县| 乌拉特中旗| 安图县| 巴彦县| 丹凤县| 梅河口市| 夹江县| 海门市| 牙克石市| 瑞昌市| 汉阴县| 廉江市| 化德县| 大埔区| 宜昌市| 台北市| 泗洪县| 武邑县| 壤塘县| 固始县| 抚远县| 水富县| 伊川县| 齐齐哈尔市| 墨竹工卡县| 瑞安市| 上饶市| 留坝县| 靖州| 阳东县| 天长市| 阳信县| 大荔县| 蒙阴县| 德惠市| 滨州市| 历史| 韩城市| 鹤岗市| 赤水市| 濉溪县|