Добавить столбец в существующий фрейм данных на основе условия для нескольких строкPython

Программы на Python
Anonymous
Добавить столбец в существующий фрейм данных на основе условия для нескольких строк

Сообщение Anonymous »

table.loc[sub_table_condition, col_name] = value

Я хочу расширить это условие, где моим значением является список диктовок, он может иметь 1 диктовку, несколько диктовок или пустой список.
Я пробовал использоватьtable.loc[sub_table_condition, col_name] = [list_of_dict] * len(sub_table)

это работает, если список диктов имеет более 1 диктанта, но не работает в случае 1 диктанта в списке.
пробованные решения:table.loc[sub_table_condition, col_name] = pd.Series([list_of_dict] * len(sub_table))
table.loc[sub_table_condition, col_name] = pd.Series([list_of_dict] * len(sub_table)).to_list()

Кажется, ни один из них не работает
например,
table = pd.DataFrame({'ID': [1, 2, 3], 'Category': ['A', 'B', 'A']})
sub_table_condition = table['Category'] == 'B'
# Example column name
col_name = 'Data'

# Example list of dictionaries
list_of_dicts = [{"Val": 100, "Reascon": "Reason 1"},
{"Val": 200, "Reascon": "Reason 2"}]


Подробнее здесь: https://stackoverflow.com/questions/783 ... a-few-rows

Вернуться в «Python»