Объект OrderedDict не имеет атрибута sort - PullRequest
0 голосов
/ 10 декабря 2018

Я пытаюсь выполнить сортировку по данным, импортированным из Excel, но получаю ошибку ниже.Почему после импорта в датафрейм он произносит свой упорядоченный словарь?

-Ошибка:

'OrderedDict' object has no attribute 'sort'

Код:

import pandas as pd
dfs = pd.read_excel("data.xlsx", sheet_name=None)
dfs
data_df = (dfs.sort(['Date','Tank','Time']).groupby(['Date','Tank']))
data_df

DF:

OrderedDict([(u'Sheet1',
                       Date      Time  Tank  Sales  Quantity  Delivery
              0  2018-01-01  06:30:00     1    100      3444         0
              1  2018-01-01  07:00:00     1    200      3144         0
              2  2018-01-01  05:30:00     1    100      2900         0
              3  2018-01-01  07:30:00     1    200      2800         0
              4  2018-01-01  06:30:00     2     50      3000         0
              5  2018-01-01  07:00:00     2    100      2950         0
              6  2018-01-01  05:30:00     2    150      2800         0
              7  2018-01-01  07:30:00     2    100      2704         0
              8  2018-01-02  06:30:00     1    100      3444         0
              9  2018-01-02  07:00:00     1    200      3144         0
              10 2018-01-02  05:30:00     1    100      2900        50
              11 2018-01-02  07:30:00     1    200      2800         0
              12 2018-01-02  06:30:00     2     50      3000         0
              13 2018-01-02  07:00:00     2    100      2950         0
              14 2018-01-02  05:30:00     2    150      2800        50
              15 2018-01-02  07:30:00     2    100      2704         0)])

1 Ответ

0 голосов
/ 10 декабря 2018

Поскольку параметр sheet_name=None в read_excel:

имя_столба : строка, int, смешанный список строк / целых или None,по умолчанию 0
...
Нет -> All sheets as a dictionary of DataFrames

Также проверьте specifying sheets.

Поэтому вам не нужен параметр для возврата первого имени листа:

df = pd.read_excel("data.xlsx")

Или укажите sheet_name, если необходимо:

df = pd.read_excel("data.xlsx", sheet_name='Sheet1')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...