Я должен предположить, что вы имеете в виду максимальное целочисленное значение.
- У вас есть смешанные типы
str
и int
. Итак, начнем с преобразования всего в строки.
- Затем вы найдете максимум строк, разделенных запятыми, используя
int
в качестве key
- Преобразовать в целые числа
df.assign(
maxA=
df['a'].astype(str).apply(lambda x: max(x.split(','), key=int)).astype(int)
)
a maxA
0 1,2 2
1 3 3
2 -1 -1
3 8,9,1 9
4 21,111 111
Обратите внимание на строку, помеченную 4. 21,111
возвращает максимум 111
Настройка
df=pd.DataFrame({'a':['1,2',3,-1,'8,9,1','21,111']})