![](/img/trans.png)
[英]Python: Copying certain columns to an empty dataframe using For loop
[英]Delete empty dataframe with loop in Python
我在 Python 中有一系列不同的 DataFrame。 我想檢查它們中的每一個是否為空,然后刪除那些實際上是空的。 我正在嘗試使用一個循環,但實際上沒有刪除任何數據幀,還有那些實際上是空的。 這里是示例,其中df_A 、 df_B 、 df_C和df_D是我的數據幀,最后一個( df_D )是空的。
df_names = [df_A, df_B, df_C, df_D]
for df_ in df_names:
if df_.empty: del df_
當然我錯過了一些非常簡單的東西,我希望你能幫助我解決這個(可能有點傻)的問題。
您可以使用 python locals()
function 來執行此操作。 我首先將列表中的數據框保存為string
:
代碼
df_names = ['df_A', 'df_B', 'df_C', 'df_D']
for df_ in df_names:
if locals()[df_].empty:
del locals()[df_]
您還可以使用以下代碼檢查您的 dataframe 是否已被刪除:
alldfs = [var for var in dir() if isinstance(eval(var), pd.core.frame.DataFrame)]
for i in alldfs:
if i[:1] != '_':
print (i)
上面的代碼片段將返回所有現有的數據幀(不包括 python 內部定義的數據幀)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.