Как я могу изменить нумерацию индекса в сводной таблице (python) - PullRequest
1 голос
/ 08 апреля 2020

Я собрал свои данные в сводную таблицу следующего вида:

movie_id  1     2     3     4     5     ...  
user_id                                 ...                              
1          1.0   0.0   1.0   0.0   0.0  ...   
2          1.0   NaN   NaN   NaN   NaN  ...   
3          NaN   NaN   NaN   NaN   NaN  ...   
4          NaN   NaN   NaN   NaN   NaN  ...
5          1.0   0.0   NaN   NaN   NaN  ...  
6          1.0   NaN   ....
.          .....
.
.
943

Мне нужен мой индекс (user_id), чтобы изменить его нумерацию с 1-943 на 943-1886, чтобы я может выполнить несколько алгоритмов позже, при этом идентификаторы mov ie будут отличаться от идентификаторов пользователя. Это возможно каким-то образом?

отредактированная консоль:

movie_id  1     2     3     4     5     ...   943 
944       1.0   0.0   1.0   0.0   0.0  ...   0.0   
945       1.0   0.0   0.0   0.0   0.0  ...   0.0   
946       0.0   0.0   0.0 
.
.
.

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Посмотрите на это

>>> import pandas as pd
>>> df = pd.DataFrame([(1, 10), (2, 11), (3, 12), (4, 13), (5, 14)], columns=['movie_id', 'user_id'])
>>> df
   movie_id  user_id
0         1       10
1         2       11
2         3       12
3         4       13
4         5       14
>>> df.index = range(943, 948)
>>> df
     movie_id  user_id
943         1       10
944         2       11
945         3       12
946         4       13
947         5       14

Если вы хотите переименовать ваш индексный столбец, просто сделайте это

>>> df.index.names = ['my_index']
>>> df
          movie_id  user_id
my_index                   
943              1       10
944              2       11
945              3       12
946              4       13
947              5       14

Альтернатива, вы можете сделать это

>>> df.index = pd.RangeIndex(start=943, stop=948, step=1, name='my_index')
>>> df
          movie_id  user_id
my_index                   
943              1       10
944              2       11
945              3       12
946              4       13
947              5       14
0 голосов
/ 08 апреля 2020

my_pivot_table.index = range (943,1886) работал над изменением нумерации индекса сводной таблицы!

...