这是我尝试在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谷歌搜索功能,在这里查找似乎解决了问题。非常感谢您的帮助。
答案 0 :(得分:0)
该错误来自以下语句:df.head(df)
在熊猫的.head()
模块中,您必须输入行数,而不是两次指定数据框。例如,如果要第一拳3行,可以说df.head(n=3)
。
如果您不希望所有行都被.head()
模块打扰,请直接将excel DF保存为CSV,例如:df.to_csv('./tester.csv')
此文档的正式文档为here