簡體   English   中英

迭代數據框列表

[英]Iterating over list of dataframes

我有一個這樣的dfs列表:

ListOfDFs = [DP, SMP, SMD, MP, MD, MSM, SAP, SAD,SAMA, SAM, AP,AD, ASM, AM,ASA]

現在我想遍歷每個 dataframe 以刪除 NaN。

我嘗試了以下方法:

for i in ListOfDFs[i]:
    i = i.fillna("")

#SMP = SMP.fillna("")
#SMP

然而沒有成功..

假設你嘗試過

for i in ListOfDFs:

代替

for i in ListOfDFs[i]:

它不起作用的原因是這條線

    i = i.fillna("")

i指的是每個 dataframe 但后來它指的是一個新的 dataframe 並忘記了前一個。 你使用列表理解來解決它

ListOfDFs = [df.fillna("") for df in ListOfDFs]

這樣一個新列表,其中包含 nans 填充的數據幀分配回 ListOfDFs。

所以問題不是 pandas 特定的

既然你提到

刪除 NaN

你試過df.dropna()嗎?

看到這個: https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.dropna.html

您可以應用它,例如:

ListOfDFs = [DP, SMP, SMD, MP, MD, MSM, SAP, SAD,SAMA, SAM, AP,AD, ASM, AM,ASA]
    
for i in ListOfDFs[i]:   
    i.dropna() #use arguments if needed

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM