У меня есть Dataframe df
.
Один из столбцов называется Adress
и содержит строку.
Я создал функцию processing(string)
, которая принимает в качестве аргумента a строка a возвращает часть этой строки.
Мне удалось применить функцию к df и создать новый столбец в df
с помощью:
df.loc[:, 'new_col_name`] = df.loc[:, 'Adress`].apply(processing)
Я изменил свою функцию processing(string)
таким образом, он возвращает две строки. Я хотел бы, чтобы вторая возвращенная строка была сохранена в другом новом столбце. Для этого я попытался выполнить следующие шаги: Создать несколько pandas столбцов DataFrame, применив функцию с несколькими возвращаемыми значениями
Вот пример моей функции processing(string)
:
def processing(string):
#some processing
return [A_string, B_string]
Я также попытался вернуть две строки в tuple
.
Вот несколько способов применения этой функции к моей df:
df.loc[:, '1st_new_col'], df.loc[:, '2nd_new_col'] = df.loc[:, 'Adress'].apply(processing)
>>> ValueError: too many values to unpack (expected 2)
#or
df.loc[:, '1st_new_col'], df.loc[:, '2nd_new_col'] = df.loc[:, 'Adress'].astype(str).apply(processing)
>>> ValueError: too many values to unpack (expected 2)
#or
df.loc[:, ['1st_new_col', '2nd_new_col']] = df.loc[:, 'Adress'].apply(processing)
>>> KeyError: "None of [Index(['1st_new_col', '2nd_new_col'], dtype='object')] are in the [columns]"
#or
df.loc[:, ['1st_new_col', '2nd_new_col']] = df.loc[:, 'Adress'].apply(processing, axis=1)
>>> TypeError: processing() got an unexpected keyword argument 'axis'
#or
df.loc[:, ['1st_new_col', '2nd_new_col']] = df.apply(lambda x: processing(x['Adress'], axis=1)
>>> KeyError: "None of [Index(['1st_new_col', '2nd_new_col'], dtype='object')] are in the [columns]"
#or
df.loc[:, ['1st_new_col', '2nd_new_col']] = df.apply(lambda x: processing(x['Adress'].astype(str), axis=1)
>>> AttributeError: 'str' object has no attribute 'astype'
#This is the only Error I could understand
#or
df.loc[:, ['1st_new_col', '2nd_new_col']] = df.apply(lambda x: processing(x['Adress'])
>>> KeyError: 'Adress'
Мне кажется, я близок, но понятия не имею, как его получить.