Создавать и заполнять новые столбцы, используя значения в строках pandas - PullRequest
0 голосов
/ 05 мая 2020

У меня есть два фрейма данных:

Dataframe A:

Col1   Col2   Value
 A      X       1
 A      Y       2
 B      X       3
 B      Y       2
 C      X       5
 C      Y       4

Dataframe B:

Col1   
 A
 B
 C

Мне нужно добавить в фрейм данных B по одному столбцу для каждого значения в столбце 2 фрейма данных A (в данном случае X и Y) и заполнить их значения в столбце «Значение» после объединения двух фреймов данных в столбце 1. Вот он:

Col1   X    Y
 A     1    2
 B     3    2
 C     5    4

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 05 мая 2020
B['X'] = A.loc[A['Col2'] == 'X', 'Value'].reset_index(drop = True)
B['Y'] = A.loc[A['Col2'] == 'Y', 'Value'].reset_index(drop = True)


      Col1  X   Y
   0    A   1   2
   1    B   3   2
   2    C   5   4

Если вы собираетесь иметь 100 различных значений в Col2, вы вызываете две указанные выше строки в al oop, например:

for t in A['Col2'].unique():
    B[t] = A.loc[A['Col2'] == t, 'Col3'].reset_index(drop = True)
    B[t] = A.loc[A['Col2'] == t, 'Col3'].reset_index(drop = True)

B

Вы получите тот же результат:

      Col1  X   Y
   0    A   1   2
   1    B   3   2
   2    C   5   4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...