我阅读了pandas文档中read_csv函数,它说它可以接受skiprows参数的可调用函数。在
他们在这里列出了可以使用lambda表达式的(https://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html)。但是,当我试图实现它时,我收到了一个错误:
值错误:索引名无效
编码
df = pd.read_csv('student_scores.csv', index_col=['Name', 'ID'], skiprows= (lambda x: x in [0, 2]))
df.head()
你猜为什么吗?在
谢谢
所发生的是}效应的结合。在
skiprows = lambda x : x in [0, 2]
和{文件中的第一行包含列名,但是
skiprows = lambda x : x in [0, 2]
使您跳过第一行(,它的索引为0)。这样,read_csv
无法正确推断列名,当您指定index_col=['Name', 'ID']
时,它将失败,因为它找不到任何具有该名称的列。在注意:我使用@jezrael的示例文件作为csv:
这个:
^{pr2}$之所以有效,是因为通过列的位置指定列,避免了名称问题。在
证明:
相关问题 更多 >
编程相关推荐