apply
сначала пытается применить функцию ко всей серии.Только в случае неудачи он сопоставляет данную функцию с каждым элементом.[:2]
является допустимой функцией для ряда, + 'qwerty'
, по-видимому, нет, поэтому вы получаете неявное отображение для последнего.Если вы всегда хотите выполнить сопоставление, вы можете использовать исходный код s.map
.
apply
для справки:
try:
result = func(self)
if not isinstance(result, Series):
result = Series(result, index=self.index, name=self.name)
return result
except Exception:
mapped = lib.map_infer(self.values, func)
return Series(mapped, index=self.index, name=self.name)