我必须根据数据库提取和csv文件生成和更新列表。 我打算用2个pandas数据帧来做到这一点。
我能够生成插入(基于df的csv文件中的新项目)和删除(基于df的csv文件中不存在的项目),但我不知道如何生成和更新列表。 dict应仅包含值更改的列和键列
操作的结果应该是这样的:
{'key': 10,
'column1': 'abc',
'column6': 10.8
}
关于如何实现这一目标的任何想法?
答案 0 :(得分:0)
你可以这样做:
@order.inject(0) { |memo, (item, qty)| memo + (item.price * qty) }
说明:
In [424]: df
Out[424]:
a b c d
0 7 5 1 3
1 1 8 6 1
2 9 6 5 2
3 5 5 4 2
4 7 1 4 6
In [425]: df2
Out[425]:
a b c d
0 -1 5 1 -1
1 1 8 6 1
2 9 6 5 2
3 5 5 -1 2
4 7 1 4 6
In [426]: df.index.name = 'key'
In [427]: df2.index.name = 'key'
In [430]: (df2[df2 != df]
.....: .dropna(how='all')
.....: .dropna(axis=1, how='all')
.....: .reset_index()
.....: .apply(lambda x: x.dropna().to_dict(), axis=1)
.....: )
Out[430]:
0 {'a': -1.0, 'd': -1.0, 'key': 0.0}
1 {'c': -1.0, 'key': 3.0}
dtype: object