Как создать новый столбец в DataFrame Pandas на основе столбца в другом DataFrame? - PullRequest
0 голосов
/ 16 февраля 2019

* Я новичок в Python и Pandas
Мне нужно сделать следующее
У меня есть 2 DataFrames, давайте назовем их df1 и df2

df1

Index    Req ID  City_Atlanta   City_Seattle    City_Boston Result  
 0        X         1                0            0           0  
 1        Y         0                1            0           0  
 2        Z         0                0            1           1

df2

Index    Req_ID    City        
  0         X      Atlanta     
  1         Y      Seattle     
  2         Z      Boston    

Я хочу добавить в df2 столбец с именем result, чтобы df2.result = False, если df1.result = 0, и df2.result = True, если df1.result = 1

* 1012.* Окончательный результат должен выглядеть следующим образом: df2
Index    Req_ID    City       result 
  0         X      Atlanta     False
  1         Y      Seattle     False
  2         Z      Boston      True

Я новичок в задании вопроса о переполнении стека, так что извините за любые распространенные ошибки.

Ответы [ 3 ]

0 голосов
/ 16 февраля 2019

Вы можете apply a bool с точностью до 0,1.

df2['Result'] = df1['Result'].apply(bool)

Вы также можете map словарь значений.

df2['Result'] = df1['Result'].map({0: False, 1: True})
0 голосов
/ 16 февраля 2019

Учитывая, что Req ID - это совпадающий ключ, а длина dfs не одинакова, вы можете использовать:

df2['Result'] = df2.Req_ID.map(dict(zip(df['Req ID'],df.Result))).astype(bool)

0    False
1    False
2     True

Если длины равны, вы можете использовать вышеуказанный sol с помощью @ aws_apprentice

0 голосов
/ 16 февраля 2019

Предполагая, что они имеют одинаковую длину:

df2['Result'] = df1['Result']==1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...