Извлечение функций из фрейма данных и преобразование их в другой фрейм данных? - PullRequest
1 голос
/ 06 мая 2019

У меня есть datafarme (my_data :) следующим образом:

   my_data:        
                    0            ...              16
      TB1     [1, 5, 24, 1]      ...        [0, 0, 0, 31]
      TB2     [7, 4, 13, 1]      ...        [0, 0, 0, 25]
      TB3     [7, 6, 20, 0]      ...        [7, 4, 2, 20]
      ...       .......          ...          ........

Как видно, в каждом столбце есть список чисел, всего у меня есть 16 столбцов в my_data, которые содержатсписок номеров.Теперь я хочу извлечь эти списки и использовать их как обычные столбцы.Итак, мои желаемые my_data должны быть примерно такими:

   my_data:
             0  1  2   3  ...  60  61 62
      TB1    1, 5, 24, 1  ...  0,  0, 31
      TB2    7, 4, 13, 1  ...  0,  0, 25
      TB3    7, 6, 20, 0  ...  4,  2, 20
      ...       .......   ...   ........

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 06 мая 2019

Одним простым способом является sum вдоль оси 1 и построение нового кадра данных:

pd.DataFrame(df.sum(1).values.tolist(), index=df.index)

     0  1   2  3  4  5  6   7
TB1  1  5  24  1  0  0  0  31
TB2  7  4  13  1  0  0  0  25
...
2 голосов
/ 06 мая 2019

Преобразование DataFrame в 2d массив с reshape и создание нового DataFrame с помощью конструктора:

df = pd.DataFrame(np.array(df.values.tolist()).reshape(len(df), -1), index=df.index)
print (df)
     0  1   2  3  4  5  6   7
TB1  1  5  24  1  0  0  0  31
TB2  7  4  13  1  0  0  0  25
TB3  7  6  20  0  7  4  2  20
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...