【问题标题】:Exporting list of pandas dataframes to csv with list comprehension使用列表理解将熊猫数据框列表导出到 csv
【发布时间】:2016-08-16 06:37:54
【问题描述】:

我编写了这个列表理解来将 pandas 数据框导出到 CSV 文件(每个数据框都写入不同的文件):

[v.to_csv(str(k)+'.csv') for k,v in df_dict.items()]

pandas 数据框是字典的值,其中的键是 CSV 文件名的一部分。所以在上面的代码中v 是数据帧,k 是数据帧映射到的字符串。

一位同事说,使用列表推导式写入输出文件并不是一个好主意。为什么会这样?此外,他说为此使用 for 循环会更可靠。如果是真的,为什么会这样?

【问题讨论】:

  • 我觉得用list comprehension循环是没有问题的,你用to_csv写文件,同意它更可靠。
  • 你不知道列表理解的作用。你需要阅读the documentation。列表推导式是一种创建列表的方式,而不是编写文件。你需要一个适当的循环来做你正在做的事情。你的同事是对的。
  • 感谢你们的cmets。
  • 虽然我不得不说列表理解有效。

标签: python-2.7 python-3.x pandas dataframe


【解决方案1】:

一位同事说,使用列表推导式写入输出文件并不是一个好主意。为什么会这样?

在构建列表时,列表推导式通常比for 循环更高效、更易读(即,使用append 生成带有for 循环的列表)。

在其他情况下,如您的情况,当您想要迭代的“副作用”时,首选 for 循环。

此外,他说为此使用 for 循环会更可靠。如果是真的,为什么会这样?

for 循环对于这个用例来说更具可读性和相关性,恕我直言,因此应该是首选:

for k,v in df_dict.items():
    v.to_csv(str(k)+'.csv')

【讨论】:

  • 我的荣幸!谢谢@ropolo
猜你喜欢
  • 2020-04-02
  • 2013-04-03
  • 1970-01-01
  • 2015-07-31
  • 2022-12-10
  • 2018-11-18
  • 2019-10-12
  • 1970-01-01
  • 2017-08-09
相关资源
最近更新 更多