#python #pandas
Вопрос:
Предположим, у меня есть следующие серии панд:
series=pd.Series(data=['A', 'B'], index=[2,3])
Я могу получить первое значение, используя .iloc
как series.iloc[0] #output: 'A'
Или я могу просто использовать get
метод, передающий фактическое значение индекса, например series.get(2) #output: 'A'
Но есть ли какой-либо способ передать iloc
метод индексации в get
метод, чтобы получить первое значение в ряду?
>>> series.get(0, '')
'' # Expected 'A', the first value for index 0
Один из способов-просто сбросить индекс и отбросить его, а затем вызвать get
метод:
>>> series.reset_index(drop=True).get(0, '')
'A'
Существует ли какая-либо другая функция, аналогичная get
методу (или способу использования get
метода), которая позволяет передавать iloc
как индекс без дополнительных затрат на сброс индекса?
ПРАВКА: Пожалуйста, обратите внимание, что этот ряд создается путем маскировки фреймов данных, поэтому этот ряд может быть пустым, поэтому я намеренно добавил значение по умолчанию в качестве пустой строки ''
для get
метода.
Комментарии:
1. Вам нужна первая ценность? Что будет, если пусто
Series
? НужноNone
?2. да, ни один не подходит в случае пустой серии
Ответ №1:
Используйте next
iter
при необходимости первое значение также с пустыми рядами:
next(iter(series), None)
Ответ №2:
Это то, что вы имеете в виду, или не совсем так?
series.get(series.index[0])
Ответ №3:
Как насчет использования head
для получения первой строки и получения значения оттуда?
series.head(1).item() # A