所以,每当你写下你所指的列的名称时,你都会在单词之间使用_,对吧?但在我的情况下,当我使用_时,代码将不起作用,而是使用空格。当它不起作用时:df['Number_of_U.S._Representatives'].mean()
vs何时:df['Number of U.S. Representatives'].mean()
当我运行第一个示例时,我得到了KeyError的错误:"Number_of_U.S_Representatives"为什么?
下划线只是多了一个字符,它没有什么特别之处,用'Number_of_U.S._Representatives'
替换'Number of U.S. Representatives'
的效果与使用'NumberAofBU.S.CRepresentatives'
的效果相同:它不起作用,因为没有这样调用的列,您会得到一个KeyError。
pandas提供了一种方便的方法,可以使用点表示法将列引用为属性。因此,如果DataFramedf
有一个名为Date
的列,则可以将其引用为df['Date']
或df.Date
。前一个是默认,后一个只是为了方便。因为很多像yo这样的人使用第二个,所以通常用下划线代替列名称中的空白。例如,在您的情况下,不可能使用点表示法,因为解释器会将df.Number of U.S. Representatives
解释为对df.Number
(一个名为"Number"的列,它不存在(的引用,然后是一些毫无意义的指令of U.S. Representatives
。这可能就是你以前看到这个的原因。