【问题标题】:When saving to csv using pandas, I get two same databases instead of two separate ones使用熊猫保存到 csv 时,我得到两个相同的数据库而不是两个单独的数据库
【发布时间】:2019-06-27 16:36:30
【问题描述】:

我正在做一些练习,作为我通过 Git 单独进行的 GIS 和 Python 课程的一部分。练习是分析来自两个气象站的气象数据。他们的 ID 拼写为 USAF,代码为:29980 和 28450。我从现有的数据框中创建了一个“选定”数据框,我需要将所有行选择到一个名为 kumpula 的变量中,其中 USAF 代码为 29980 和一个美国空军代码为 28450 的变量 Rovaniemi。

我已经这样做了:

kumpula = selected.loc[selected['USAF']==29980]
rovaniemi = selected.loc[selected['USAF']==28450]

这很好。现在,我需要将 kumpula 和 rova​​niemi DataFrame 保存到“Kumpula_temps_May_Aug_2017.csv”和“Rovaniemi_temps_May_Aug_2017.csv”中。我还需要用逗号分隔并在浮点数中仅使用 2 位小数。

这是我的代码:

kumpula = "Kumpula_temps_May_Aug_2017.csv"
selected.to_csv(kumpula, sep=',', float_format="%2f")
rovaniemi = "Rovaniemi_temps_May_Aug_2017.csv"
selected.to_csv(rovaniemi, sep=',', float_format="%2f")

这段代码应该可以工作。但是,这两个文件是相同的。它们用于罗瓦涅米,例如,美国空军代码是 28450。我是否以某种方式覆盖了“Kumpula_temps_May_Aug_2017.csv”。

【问题讨论】:

  • 你写了两次相同的 selected - 也许你应该保存 kumpula.to_csv()rovaniemi.to_csv() 但不要将文件名分配给变量 kumpularovaniemi - 直接在to_csv() 或为文件名使用不同的变量。
  • 当我尝试直接保存时,它给了我一个错误: ----------------------------- ---------------------------------- AttributeError Traceback(大多数最近通话最后) in 3 selected.to_csv(kumpula, sep=',', float_format="%2f") 4 rova​​niemi = "Rovaniemi_temps_May_Aug_2017.csv" ----> 5 rova​​niemi.to_csv(rovaniemi, sep=',', float_format="%2f") AttributeError: 'str' object has no attribute 'to_csv
  • 正如我所说 - 不要将文件名分配给 kumpularovaniemi 因为有你的数据框 - 所以你删除数据框并且你只有带有文件名的字符串。你必须使用 kumpula.to_csv("Kumpula_temps_May_Aug_2017.csv", ... )
  • 如果你在每一行代码之后使用print()来显示变量中的值,你会发现问题。
  • 谢谢。现在解决了。我现在才意识到你在说什么。

标签: python pandas csv export-to-csv


【解决方案1】:

你需要修改你的代码为

kumpula_df = selected.loc[selected['USAF']==29980]
rovaniemi_df = selected.loc[selected['USAF']==28450]
kumpula_df.to_csv("Kumpula.csv", sep=',', float_format="%2f")
rovaniemi_df.to_csv("rovaniemi.csv", sep=',', float_format="%2f")

希望这会有所帮助!

【讨论】:

  • 谢谢。确实如此。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-05-05
  • 2013-10-05
  • 2017-08-01
  • 2020-03-21
  • 1970-01-01
相关资源
最近更新 更多