Python - можно ли отобразить данные и сделать векторную матрицу?

1

Я все еще новый студент, начинающий изучать питон и программирование. и вот мои данные

  Doc1              Doc2
 class1  numid     class2 numid
  doc1a   d112       012  d112
  doc1a   d212       013  d212
  doc1a   d312       013  d312
  doc1b   d412       011  d312
  doc1b   d412       011  d412

Я хотел бы объединить их и увидеть результат как

           d112 d212 d312 d412 
doc1  doc2
doc1a  012   1   0   0   0
doc1a  013   0   1   1   0
doc1b  011   0   0   1   1
Теги:
pandas
dataframe
list
mapping

1 ответ

0
Лучший ответ

IIUC, используя pd.get_dummies и pd.merge

cols = ['class1', 'class2']
>>> pd.get_dummies(pd.merge(df, df2, how='outer').set_index(cols), prefix='', prefix_sep='')\
    .drop_duplicates()                                                         \
    .groupby(cols)                                                             \
    .sum()

Выходы

                 numid_d112   numid_d212    numid_d312    numid_d412
class1  class2              
doc1a   12       1            0             0             0
        13       0            1             1             0
doc1b   11       0            0             0             1
  • 0
    спасибо за вашу помощь, но когда я пытаюсь с набором данных, который содержит 100 строк, некоторые данные отсутствуют TT я отредактировал некоторые части вашего предложения как -> df2 = pd.get_dummies (pd.merge (df, df2) .set_index (cols) df2 = df2 [~ df2.index.duplicated (keep = 'first')] df2.groupby (col) .sum (), но в некоторых данных все еще отсутствует TT
  • 0
    @ Sujin, что ты имеешь в виду под missing ?
Показать ещё 2 комментария

Ещё вопросы

Сообщество Overcoder
Наверх
Меню