从 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
示例 -
我试图理解以下代码行背后的直觉。
我知道它正在从数据框中的 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
示例 -