Постоянно получающаяся ошибка индексации среза с Pandas excel_read в Jupyter - PullRequest
1 голос
/ 12 марта 2019

Вот мой безумно простой скрипт, который я пытаюсь запустить в 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

Независимо от того, что я делаю, независимо от того, какой файл яиспользуйте, это точная одна и та же ошибка каждый раз (только с разными недопустимыми индексами), и я попробовал поискать в Google, ища это здесь, кажется, ничто не решает проблему.Любая помощь очень ценится.

1 Ответ

0 голосов
/ 12 марта 2019

Ошибка исходит из этого утверждения: df.head(df)

В модуле .head() для панд вы должны указать количество строк, а не указывать кадр данных дважды. Например, если вам нужны первые три строки, вы можете сказать df.head(n=3).

Если вы хотите, чтобы все строки не работали с модулем .head(), а напрямую сохраните Excel DF в CSV, например: df.to_csv('./tester.csv')

Официальная документация на это здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...