我有这个人。 pandas dataframe(以datetime作为索引):
name_col
datetime
2016-11-01 0.00
2016-11-08 0.00
如何将其转换为如下所示的字典:
[{field_id='1', date='2016-11-01', name_col=0.0}, {field_id='1', date='2016-11-08', name_col=0.0}]
在这里,我想为字典中的每个项目添加一个公共键值对(field_id =' 1')
我试过了:
df.to_dict()
但这并没有帮助我添加公共键值对(field_id =' 1')并且也没有提供我想要的格式
答案 0 :(得分:3)
一种可能的方法是添加一个列,然后转换为dict,如:
In [1]: import pandas as pd
In [2]: data = [["2016-11-01",0.00], ["2016-11-08",0.00]]
In [3]: df = pd.DataFrame(data, columns=["datetime", "name_col"])
In [4]: df["field_id"] = 1
In [5]: df
Out[5]:
datetime name_col field_id
0 2016-11-01 0.0 1
1 2016-11-08 0.0 1
In [6]: df.to_dict(orient="record")
Out[6]:
[{'datetime': '2016-11-01', 'field_id': 1, 'name_col': 0.0},
{'datetime': '2016-11-08', 'field_id': 1, 'name_col': 0.0}]
答案 1 :(得分:1)
使用assign
清除语法
df.assign(field_id=1).reset_index().to_dict('records')
[{'datetime': '2016-11-01', 'field_id': 1, 'name_col': 0.0},
{'datetime': '2016-11-08', 'field_id': 1, 'name_col': 0.0}]