Логическое значение на датафрейме - PullRequest
0 голосов
/ 20 сентября 2019

Эй, ребята, не уверен, что то, что я пытаюсь сделать, возможно, но я хочу создать новый столбец в кадре данных, основываясь на том, говорит ли строка «завершено».если это так, я хочу, чтобы в новой строке столбца было указано 1, если не 0. Поскольку у меня много записей, я помещаю его в цикл.

august_report['Lease'] = np.nan
for x in august_report.iterrows():
    if august_report['Transaction Types'] =='Matched Lease transaction':
        august_report['Lease'] = '1'
    else:
        august_report['Lease'] = '0'

Ответы [ 3 ]

1 голос
/ 20 сентября 2019

Numpy предоставляет простой способ сделать это, если у вас есть два значения, как в вашем примере (используя np.where).Если у вас есть несколько случаев, посмотрите на np.select.

import numpy as np
august_report['Lease'] = np.where(august_report['Transaction Types'] =='Matched Lease transaction', '1','0')
0 голосов
/ 20 сентября 2019

можно применять лямбду

df['Lease'] = df['Transaction Types'].apply(lambda x: '1' if x == 'Matched Lease transaction' else '0')
0 голосов
/ 20 сентября 2019

Да, вы можете присвоить значения столбцу, например:

august_report['Lease'] = august_report['Transaction Types'].eq('Matched Lease transaction').astype(int)

Вероятно, числовые значения 0 и 1 лучше (или даже False и True, путем удаления.astype(int)), поскольку это показывает, что мы имеем дело с числовыми данными, а не с текстовыми данными.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...