Охватывающий то же подмножество заголовков столбцов под N числом заголовков родительских столбцов Pandas - PullRequest
0 голосов
/ 02 июля 2018

Я пытаюсь сделать 2d-массив размером 52x40 преобразованным в кадр данных 52x40, но с только 10 заголовками столбцов. В приведенном ниже примере, скажем, кадр данных размером 52x30, имеющий 10 заголовков столбцов, каждый из которых содержит 3 столбца.

Я пытался посмотреть на документацию для панд и другие подобные исправления проблем, которые совсем не похожи, но все же пробовали и не удавались.

У кого-нибудь есть идеи, как это сделать? Прямо сейчас самая близкая реализация, которую я могу сделать, состоит в том, чтобы получить кадр данных pandas 52x40, но с заголовками столбцов, равными 4 раза того же дня, затем следующий день повторяется 4 раза, затем следующий и т. Д. До 10 дней. Т.е. всего 40 столбцов.

final_logic_table = pd.DataFrame(final_logic_table, index=[nurseData.importShift.columns], columns=[dates]);
        final_logic_table.set_index(numpy.unique(dates));
        final_logic_table.sort_index(inplace=True);

Вот что я пытаюсь достичь:

sample] 1

1 Ответ

0 голосов
/ 02 июля 2018

Я думаю, что нужно MultiIndex, созданное MultiIndex.from_product:

np.random.seed(1256)

dates = pd.date_range('2018-01-12', periods=10)
c= pd.MultiIndex.from_product([dates, ['Morning','Afternoon','Night']])
df = pd.DataFrame(np.random.randint(10, size=(52,30)), columns=c)
print (df.head())

  2018-01-12                 2018-01-13                 2018-01-14            \
     Morning Afternoon Night    Morning Afternoon Night    Morning Afternoon   
0          1         5     8          8         9     3          6         3   
1          0         7     2          8         2     4          8         3   
2          6         9     4          2         8     7          1         6   
3          1         8     9          1         6     3          4         9   
4          7         8     7          0         6     3          0         2   

        2018-01-15  ...  2018-01-18 2018-01-19                 2018-01-20  \
  Night    Morning  ...       Night    Morning Afternoon Night    Morning   
0     0          6  ...           4          9         4     6          1   
1     5          5  ...           2          4         7     4          0   
2     3          2  ...           3          2         4     1          5   
3     1          3  ...           0          2         1     3          7   
4     0          7  ...           8          2         1     5          0   

                  2018-01-21                  
  Afternoon Night    Morning Afternoon Night  
0         7     7          5         8     3  
1         4     9          6         0     4  
2         4     9          5         2     4  
3         4     8          1         0     2  
4         3     9          1         7     1  

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