Попытка различных способов сделать условное выражение и вывод не то, что ожидалось (PYTHON) - PullRequest
0 голосов
/ 24 сентября 2019

Я пытаюсь изменить некоторые ячейки базы столбца на условных двойных.Код должен написать «none» в столбце «FCH_REC» (этот столбец изначально заполнен разными датами), если столбец «LL» равен «201», а столбец DEC равен «RC».Также я хочу написать «нет» в столбце «FCH_REC», если столбец LL равен «400», а столбец «DEC» равен «RCLA».Следующее, что я попробовал.

Сначала я преобразовал в строку столбцы.

table["FCH_REC"] = table["FCH_REC"].astype(str)
table["LL"] = table["LL"].astype(str)
table["DEC"] = table["DEC"].astype(str)

Во-вторых, я попробовал это:

table.loc[(tabla['LL'] == '201') & (tabla['DEC'] == "RC" ), "FCH_REC"]  = None
table.loc[(tabla['LL'] == '400') & (tabla['DEC'] == "RCLA" ), "FCH_REC"]  = None

В-третьих, я попробовал это:

table.columns = table.columns.str.replace(' ', '')
table.loc[(tabla['LL'] == '201') & (table['DEC'] == "RC" ), "FCH_REC"]  = "None"
table.loc[(renove['LL'] == '400') & (table['DEC'] == "RCLA" ), "FCH_REC"]  = "None"

В-четвертых, я попробовал это (у этого проблемы с синтаксисом):

table["FCH_REC"] = table[["FCH_REC","LL"]].apply(lambda row: 
row["FCH_REC"] = "None" if row["LL"] in ("RC", "RCLA") else row["FCH_REC"] )

Пятое, я попробовал это:

for i in list(range(0,table.shape[0])):

if table.loc[i,"DEC"] in ("RC", "RCLA"):
    table.loc[i,"FCH_REC"] == "NONE"

Я не знаю, чтопродолжается.

Спасибо за помощь!

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