从 pandas 数据框中的 header 列中删除双引号

removing double quotes from column header in pandas dataframe

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

我知道它正在从数据框中的 header 列中删除双引号,尽管有人可以帮助我了解它是如何做到的吗?

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

谢谢

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

然后右边是一个list comprehension,意思是可以理解为for循环

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

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

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

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

示例:-

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

示例 -