首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何删除列表内的所有熊猫数据框?

如何删除列表内的所有熊猫数据框?
EN

Stack Overflow用户
提问于 2019-11-06 22:14:48
回答 3查看 87关注 0票数 0

我正在从一个网站提取数据,我想将其存储在数据库中。为此,我希望在for循环中创建和删除数据帧。

我尝试创建一个数据框列表,并使用循环删除每个元素,但不起作用。

代码语言:javascript
复制
tables = [df1,df2,df3]

for table in tables:
    del table

它不会删除数据帧,也不会显示任何错误。

我可以使用'del‘逐个删除它们,但我需要一个更具扩展性的解决方案。

代码语言:javascript
复制
del df1
del df2
EN

回答 3

Stack Overflow用户

发布于 2019-11-06 22:22:45

您可以做的是为tables建立索引,并使用特定的索引删除数据帧。请注意,由于您在迭代时从列表中删除了元素,为了避免跳过元素,请从末尾开始删除:

代码语言:javascript
复制
for ix in reversed(range(len(tables))):
    # do something with tables[ix]
    del tables[ix]
票数 3
EN

Stack Overflow用户

发布于 2019-11-06 22:22:36

因为当在遍历列表时删除时,实际上只是删除了一个引用。

如果您要删除,请尝试使用索引进行访问:

代码语言:javascript
复制
l = len(tables)
for i in range(l):
    del tables[0]

或者仅仅是流行:

代码语言:javascript
复制
while tables:
    tables.pop(0)
票数 0
EN

Stack Overflow用户

发布于 2019-11-06 22:35:09

顺便说一句,del可以接受多个参数:

del df1, df2, df3

但是,如果您想扩展它,也许可以使用dir()来查看作用域中的变量,并删除不需要的变量

代码语言:javascript
复制
for var in dir():
      if var in tables:
          del var
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58732114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档