устарел .item () в пандах и альтернативный способ переписать это - PullRequest
1 голос
/ 08 октября 2019

Я не очень хорош в пандах, и у меня есть строка кода, которая предупреждает, что в последующих версиях она будет устаревшей. .Item () является жертвой здесь.

orderTotal = eachOrderDF.loc[eachOrderDF['ITEM CODE'] == 'Order Total', 'ORDER QTY(PKS)'].item() 

Есть ли другой способ переписать этот код, чтобы сделать то же самое?

1 Ответ

0 голосов
/ 08 октября 2019

Вы можете выбрать первое значение отфильтрованного Series с помощью Series.iat, Series.iloc или преобразовать в массив и выбрать первое значение:

s = eachOrderDF.loc[eachOrderDF['ITEM CODE'] == 'Order Total', 'ORDER QTY(PKS)']

orderTotal = s.iat[0]

orderTotal = s.iloc[0]

orderTotal = s.values[0]

Но если возможно, нет совпадения, это означает, что s пусто Series Решение выше не удалось. Тогда рабочим решением будет использование next с iter для возможного указания значения, если нет совпадения, здесь no match:

orderTotal = next(iter(s), 'no match')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...