【问题标题】:How to trim Header values in pandas.read_csv如何修剪 pandas.read_csv 中的标题值
【发布时间】:2020-07-11 10:35:48
【问题描述】:

我正在使用 pandas.read_csv() 读取 csv 文件。我的 csv 文件的标题在开头或结尾有空格,例如 ' header1', 'header2 ' 我想在开始/结束时修剪多余的空间。他们是一种使用一些参数来指定这一点的方法吗?如果不是如何在我的结果数据框中实现这一点?

【问题讨论】:

  • 您可以在阅读 csv 后尝试df.columns =[col.strip() for col in df.columns]

标签: python pandas dataframe


【解决方案1】:

您可以在阅读 csv 后尝试这样做:

df.columns =[col.strip() for col in df.columns]

同:

df.rename(columns=lambda x: x.strip(), inplace=True)

或者这个:

df.columns=df.columns.str.strip()

【讨论】:

  • @MuhammadUmarFarooq 我认为最后一个是 msot 清晰和惯用的方法。很好的答案。
  • 我同意 Datanovice,我会使用最后一个 @MuhammadUmarFarooq。此外,列表推导也是一个不错的选择,在大多数情况下它可能是最快的方式。
  • 我会避开方法二,使用 inplace=True 并没有真正的好处,而且我记得的内容可能会在未来的 pandas 版本中被弃用。
  • 是的,这是真的@Datanovice。
  • @MuhammadUmarFarooq 实际上,我只是为您的问题找到了另一种可能的解决方案,他们使用正则表达式作为分隔符;像sep="\s*,\s*",但正如您在(答案的)cmets 中看到的那样,它可能会产生问题。这是答案:link
猜你喜欢
  • 2016-10-16
  • 1970-01-01
  • 2015-11-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-09-26
  • 1970-01-01
相关资源
最近更新 更多