Мне нужно создать третий столбец, содержимое которого зависит от логических значений созданных столбцов, но не удается запустить его.
Исходный фрейм данных не имеет конкретного заголовка и может иметь переменное количество столбцов, например:
Код: Выделить всё
index 0 1 2 keep_release keep_truck
1 2 3 4 True False
2 3 4 5 True True
Код: Выделить всё
index 0 1 2 keep_release keep_truck keep
1 2 3 4 True False False
2 3 4 5 True True True
Код: Выделить всё
in
def check_truck_and_release_row(x):
return x['keep_release'] and x['keep_truck']
df_out = df_out.assign(keep = lambda x: x[['keep_release', 'keep_truck']].apply(check_truck_and_release_row, args =()))
out
Exception has occurred: KeyError (note: full exception trace is shown but execution is paused at: check_truck_and_release_row)
'keep_release'
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\filtering_pandas.py", line 1067, in check_truck_and_release_row (Current frame)
return x['keep_release'] and x['keep_truck']
~^^^^^^^^^^^^^^^^
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\filtering_pandas.py", line 1075, in
df_out = df_out.assign(keep = lambda x: x[['keep_release', 'keep_truck']].apply(check_truck_and_release_row, args =()))
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\filtering_pandas.py", line 1075, in filter_trucks_from_df
df_out = df_out.assign(keep = lambda x: x[['keep_release', 'keep_truck']].apply(check_truck_and_release_row, args =()))
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\main.py", line 3410, in load_truck_br
self.truck_filtered_df[self.release_status][0] = filtering_pandas.filter_trucks_from_df(self.excel_loaded_df[self.release_status][0], button.text)
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\main.py", line 3538, in
app.run()
KeyError: 'keep_release'
Код: Выделить всё
in
def check_truck_and_release_row(keep_release, keep_truck):
return keep_release and keep_truck
df_out['keep'] = df_out.apply(lambda x: check_truck_and_release_row(x['keep_release'], x['keep_truck']))
out
Exception has occurred: KeyError (note: full exception trace is shown but execution is paused at: )
'keep_release'
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\filtering_pandas.py", line 1076, in (Current frame)
df_out['keep'] = df_out.apply(lambda x: check_truck_and_release_row(x['keep_release'], x['keep_truck']))
~^^^^^^^^^^^^^^^^
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\filtering_pandas.py", line 1076, in filter_trucks_from_df
df_out['keep'] = df_out.apply(lambda x: check_truck_and_release_row(x['keep_release'], x['keep_truck']))
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\main.py", line 3410, in load_truck_br
self.truck_filtered_df[self.release_status][0] = filtering_pandas.filter_trucks_from_df(self.excel_loaded_df[self.release_status][0], button.text)
File "C:\Users\A0099652\Documents\Python\repo_git_PURE\main.py", line 3538, in
app.run()
KeyError: 'keep_release'
Есть какие-нибудь подсказки, как я могу заставить это работать?
Спасибо.
Подробнее здесь: https://stackoverflow.com/questions/797 ... -dataframe