заменить «Десятичный» из списка, созданного из данных - PullRequest
0 голосов
/ 05 июля 2018

input_list генерируется из кадра данных pandas. Я хочу заменить все такие записи сразу в панде dataframe.

input_list = {'borrower_master_id': 1000, 'attribute_derived_master_id': 100, 'year_id': 2018, 'quarter_id': 1.0, 'month_id': None, 'param1_value': Decimal('3.00'), 'param2_value': Decimal('223.00'), 'param3_value': None, 'param4_value': None, 'param5_value': None, 'formula_expression': 'param1+param2', 'attrib_type': 'Actual', 'derived_attrib_value': 226.0, 'is_active': True}

expected_list = {'borrower_master_id': 1000, 'attribute_derived_master_id': 100, 'year_id': 2018, 'quarter_id': 1.0, 'month_id': None, 'param1_value': 3.0, 'param2_value': 223 'param3_value': None, 'param4_value': None, 'param5_value': None, 'formula_expression': 'param1+param2', 'attrib_type': 'Actual', 'derived_attrib_value': 226.0, 'is_active': True}

1 Ответ

0 голосов
/ 05 июля 2018

Вы можете использовать словарь для определения типа данных:

input_list = {k:(float(v) if isinstance(v, Decimal) else v) for k,v in input_list.items()}

input_list
>>>
{'borrower_master_id': 1000,
 'attribute_derived_master_id': 100,
 'year_id': 2018,
 'quarter_id': 1.0,
 'month_id': None,
 'param1_value': 3.0,
 'param2_value': 223.0,
 'param3_value': None,
 'param4_value': None,
 'param5_value': None,
 'formula_expression': 'param1+param2',
 'attrib_type': 'Actual',
 'derived_attrib_value': 226.0,
 'is_active': True}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...