Код: Выделить всё
def Process_DF():
DF_6cols = "some data"
#Two functions to split column containing Column Val1 and Column Val2
def split_column_1(string):
str_len = len(string)
range_obj = range(str_len)
character = ","
for index in range_obj:
if string[index] == character:
position = index
return string[0:position]
def split_column_2(string):
str_len = len(string)
range_obj = range(str_len)
character = ","
for index in range_obj:
if string[index] == character:
position = index
return string[position+1:]
#Splitting column 6 into two proper columns and dropping it
DF_7cols["Column Val1"] = DF_6cols.apply(lambda x: split_column_1(x["Splittable Column"]), axis=1)
DF_8cols["Column Val2"] = DF_7cols.apply(lambda x: split_column_2(x["Splittable Column"]), axis=1)
DF_ToReturn = PTT_DataFrame_6Columns.drop("Splittable Colum", axis=1)
return DF_ToReturn
Код: Выделить всё
File "subscript.py", line x, in Process_DF
DF_7cols["Column Val1"] = DF_6cols.apply(lambda x: split_column_1(x["Splittable Column"]), axis=1)
File "~\Python\Python310\site-packages\pandas\core\frame.py", line 4301, in __setitem__
self._set_item_frame_value(key, value)
File "~\Python\Python310\site-packages\pandas\core\frame.py", line 4459, in _set_item_frame_value
raise ValueError(
ValueError: Cannot set a DataFrame with multiple columns to the single column Column Val1
< /code>
С другой стороны, при попытке вывести его из функции и запустить тот же сценарий - ошибки не происходит, и она работает OK. Я также пытался взять функции split_column_1
Я проверил другие вопросы о аналогичной проблеме, но у них были решения, которые не решают мой случай.
Код: Выделить всё
Index Splittable Column
1 ,FALSE
2 Not Acceptable, FALSE
3 Not Acceptable, FALSE
4 ,FALSE
5 ,FALSE
6 ,FALSE
Better Reprex данных, которые я имею, будет следующим: < /p>
data = {'Index': ['1', '2', '3','4'], 'Splittable column': [',FALSE', 'Not Acceptable,Failed,NAN,FALSE', 'Not acceptable,FALSE',',FALSE']}
DF_6cols = pd.DataFrame(data)
< /code>
Мне нужно, чтобы последний столбец был определенным статусом и данными в предыдущем столбце с объяснением того, что произошло. Может быть список причин или ответа на ошибку от SQL Server. Оба случая могут содержать несколько экземпляров с «в нем», поэтому мне пришлось прибегнуть к такому кодированию. Если есть лучший способ сделать это - я был бы рад применить это
Подробнее здесь: https://stackoverflow.com/questions/797 ... hen-script