我有一个如下所示的数据框:
k = pd.DataFrame({'A':[1,2,3,4], 'B':['a','b','c','d']})
我想插入一个看起来像这样的mongoDB:
dic = {1:'a', 2:'b',3:'c',4:'d'}
我怎么能这样做?
我已经检查了这样的事情,但它们似乎不适用于我的df:
convert pandas dataframe to json object - pandas
提前致谢!
答案 0 :(得分:2)
使用Series.to_json
并在必要时更改key
值添加rename
:
print (k.set_index('A').rename(columns={'B':'index1'}).to_json())
{"index1":{"1":"a","2":"b","3":"c","4":"d"}}
如果需要导出到文件:
k.set_index('A').rename(columns={'B':'index1'}).to_json('file.json')
答案 1 :(得分:0)
尽管我所写的内容并不是对所提问题的答案,但我仍在提供解决方案,以解决我所遇到的一个小问题,我在Google上搜索并到达此处。
问题:如何从熊猫数据框中创建字典,以列为键,并以常量值(在我的情况下为1)作为值,
解决方案:
f = pd.Series(data = [1]*df.shape[0],index=df['col_name'])
x = f.to_json(orient='columns')
输出:
{"one":1, "two":1, "three": 1}
我为什么要这样做? 因为字典中的搜索是高度优化的(是的,我也可以使用set)
P.S。 Python的新手,请对我温柔:)。