【问题标题】:removing double quotes from column header in pandas dataframe从熊猫数据框中的列标题中删除双引号
【发布时间】:2020-05-26 06:37:23
【问题描述】:

我试图理解下面这行代码背后的直觉。

我知道它正在从数据框中的列标题中删除双引号,但有人可以帮我理解它是如何做到的吗?

df.columns = [col[1:-1] for col in df.columns]

谢谢

【问题讨论】:

  • df.counms 返回列名的pd.Series,然后使用list comprehension,您可以遍历各个列名并使用,index slicing 从列中的第二个字符到该列名称中的倒数第二个字符进行选择。

标签: pandas dataframe double-quotes columnheader


【解决方案1】:

df.columns = ... 是将右侧列表分配给列的行的一部分。

那么右手边是一个列表推导式,意思是它可以理解为一个for循环。

那么,在python中,字符串就是一个字符数组。 for col in columns 表示您遍历列列表中的每个字符串。每个col 都是一个数组。如果该字符串有引号,那么它看起来像"xxxx"。所以数组的第一个和最后一个元素都是引号。

col[1:-1] 是将数组从第二个元素切片到最后一个元素的方法。

所以当你把所有这些东西放在一起时,在你的情况下,你最终会删除引号。

【讨论】:

    【解决方案2】:

    这是在每列的column names 字符串中取第二个索引到倒数第二个索引

    示例:-

    如果 column name 字符串的大小小于 3,那么它会为您提供空字符串 column name

    示例 -

    【讨论】:

      猜你喜欢
      • 2016-08-09
      • 1970-01-01
      • 2021-09-10
      • 2019-03-05
      • 1970-01-01
      • 2020-02-18
      • 2020-05-11
      • 2020-05-28
      • 2018-03-15
      相关资源
      最近更新 更多