[英]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.