![](/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.