2017-03-25 21 views
1

私にはフォールがあります。 (インデックスとして日時を含む)パンダのデータフレーム:パンダのデータフレームを辞書に変換し、共通のキーと値のペアを追加する

  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」)とも私はしたい形式を与えるものではありません

答えて

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}] 
3
1つの方法は、列を追加してからのようにの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}]