在Jupyter中使用Pandas excel_read不断获取切片索引错误

时间:2019-03-11 22:34:41

标签: python excel pandas indexing jupyter-notebook

这是我尝试在Jupyter Notebook中运行的疯狂简单脚本。我对此完全陌生,但似乎能够访问正确的目录并查看正确的文件。 help.xlsx只是一个简单的excel文件,在第一行中包含一些字符串,在其下方是相应的数字行。之所以将其作为测试文件,是因为实际上其他任何方法都无效。我尝试使用csv文件和在线可用文件读取csv。他们可以阅读,但我一直收到相同的错误(我将其放在下面)

import pandas as pd
import seaborn as sns

def io_hw(out_path):
    df = pd.read_excel('./help.xlsx')
    head_df = df.head(df)
    head_df.to_csv('./tester.csv')
    return df, head_df

错误:

TypeError: cannot do slice indexing on <class 'pandas.core.indexes.range.RangeIndex'> with these indexers [   hello  this   is  awful
E       0      1     4    7      6
E       1      2     3    5      8
E       2     12    11    9     10] of <class 'pandas.core.frame.DataFrame'>

/Users/Shea/miniconda3/envs/em212/lib/python3.7/site-packages/pandas/core/indexes/base.py:3066: TypeError

无论我做什么,无论使用什么文件,每次都是 exact 相同的错误(只是具有不同的无效索引),并且我尝试使用Google谷歌搜索功能,在这里查找似乎解决了问题。非常感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

该错误来自以下语句:df.head(df)

在熊猫的.head()模块中,您必须输入行数,而不是两次指定数据框。例如,如果要第一拳3行,可以说df.head(n=3)

如果您不希望所有行都被.head()模块打扰,请直接将excel DF保存为CSV,例如:df.to_csv('./tester.csv')

此文档的正式文档为here