【问题标题】:Why doesn't the clean-up persist?为什么清理不继续?
【发布时间】:2019-07-22 18:46:23
【问题描述】:

我清理了一个 csv 表。我想删除 ID 中的符号。它看起来像这样:

ID    Address
"(2   Hamburg
"(3   Cologne
"(4   Berlin
"(5   ...

我想删除"(

我使用的代码

Ost.applymap(lambda x: x.replace('"(', ''))

当我在保存后检查 csv 文件时,已删除的符号又回来了。好像什么都没变。为什么更改没有保存?

【问题讨论】:

  • 您能否提供保存Ost 的代码,因为这听起来像是您的问题的罪魁祸首。另外,您能否验证在执行applymap 之后修改了Ost
  • 是的,Ost 显示我在 applymap 之后修改。我以为写模式会保存它? Ost.to_csv('ostarbeiter.csv')

标签: python-3.x pandas python-applymap


【解决方案1】:

您需要将更改重新分配给变量:

Ost = Ost.applymap(lambda x: x.replace('"(', ''))

输出:

Ost.applymap(lambda x: x.replace('"(', ''))
Ost

    ID    Address
0    (2   Hamburg
1    (3   Cologne
2    (4   Berlin

如您所见,它不是 applymap 也不是就地进行更改

【讨论】:

  • 没问题。一直发生在我身上。养成在排查代码时调用 DataFrame 的习惯。从表面上看,储蓄似乎正在发生一些事情。调用 df 表明 applymap 没有任何变化。
【解决方案2】:

这听起来可能很愚蠢,但是你在完成applymap 之后有saved 文件吗?

这可能是您的csv 文件未更改的原因。数据在内存中发生变化,但从未写入“干净的”csv 文件。

【讨论】:

  • 是的,我已经保存为 csv --> Ost.to_csv('ostarbeiter.csv')
  • 我已经正确保存了。问题可能出在哪里?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-06
  • 2019-06-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多