我嘗試在 Python Pandas 中創建函式,其中:
- 我讀了 5 個 csv
- 對每個讀取的 csv 進行一些聚合(為了更容易,我們可以洗掉一列)
- 將每個修改后的 csv 保存為 DataFrame
目前我有類似下面的內容,但是它只回傳一個 DataFrame 作為輸出而不是 5,我該如何更改下面的代碼?
def xx():
#1. read 5 csv
for el in [col for col in os.listdir("mypath") if col.endswith(".csv")]:
df = pd.read_csv("path/f"{el}"")
#2. making aggregations
df = df.drop("COL1", axis=1)
#3. saving each modified csv to separated DataFrames
?????
最后我需要在修改后有 5 個單獨的 DataFrame,我如何修改我的函式以在 Phython Pandas 中實作 taht?
uj5u.com熱心網友回復:
您可以創建一個空字典,并逐漸將五個處理過的資料幀提供給它。
嘗試這個:
def xx():
dico_dfs={}
for el in [file for file in os.listdir("mypath") if file.endswith(".csv")]:
#1. read 5 csv
df = pd.read_csv(f"path/{el}")
#2. making aggregations
df = df.drop("COL1", axis=1)
#3. saving each modified csv to separated DataFrames
dico_dfs[el]= df
您可以使用檔案名作為鍵來訪問每個資料幀,例如dico_dfs["file1.csv"].
pandas.concat如果需要,您可以使用:制作單個資料框pd.concat(dico_dfs)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/537540.html
