2 回答

TA貢獻(xiàn)1898條經(jīng)驗(yàn) 獲得超8個(gè)贊
我認(rèn)為您真正的問題是如何將所有文件放入數(shù)據(jù)框中
使用標(biāo)準(zhǔn)庫的一部分pathlib來處理您的文件。
Python 3 的 pathlib 模塊:馴服文件系統(tǒng)
由于您的csv文件是相同的,正如您在問題中所述,將它們?nèi)拷M合到一個(gè)數(shù)據(jù)幀中然后一次清理所有數(shù)據(jù)會(huì)更有效。
單獨(dú)清理每個(gè)數(shù)據(jù)幀然后將它們組合起來效率較低
獲取單個(gè)組合數(shù)據(jù)框
from pathlib import Path
import pandas as pd
p = Path(r'c:\some_path_to_files') # set your path
files = p.glob('nba*.csv') # find your files
# It was stated, all the files are the same format, so create one dataframe
df = pd.concat([pd.read_csv(file) for file in files])
[pd.read_csv(file) for file in files]是一個(gè)列表推導(dǎo),它為每個(gè)文件創(chuàng)建一個(gè)數(shù)據(jù)框。
pd.concat合并列表中的所有文件
要獲取單獨(dú)的數(shù)據(jù)框:
創(chuàng)建一個(gè)dict數(shù)據(jù)框
每個(gè)key都是dict一個(gè)文件名
p = Path(r'c:\some_path_to_files') # set your path
files = p.glob('nba*.csv') # find your files
df_dict = dict()
for file in files:
df_dict[file.stem] = pd.read_csv(file)
使用df_dict:
df_dict.keys() # to show you all the keys
df_dict[filename] # to access a specific dataframe
# after cleaning the individual dataframes in df_dict, they can be combined
df_final = pd.concat([value for value in df_dict.values()])

TA貢獻(xiàn)1796條經(jīng)驗(yàn) 獲得超4個(gè)贊
基于 Pandas 構(gòu)建的 Dask 庫具有一次將多個(gè) csv 加載到單個(gè)數(shù)據(jù)幀的方法。
添加回答
舉報(bào)