带有字典的熊猫更新数据框



我有一个数据框和一个我想组合的词典,以便字典键在键相交时数据框架

令人沮丧的方法:

import pandas as pd
# setup input df
d1 = pd.DataFrame([[1, 2], [5, 6]])
d1.columns = ['a', 'b']
d1 = d1.set_index('a')
# setup input dict
a = {1 : 3, 2: 3}
# Now how do we join?
# ~~~~~~~~~~~~~~~~~~~
# turn dict into dataframe
d2 = pd.DataFrame()
d2 = d2.from_dict(a, orient='index')
d2.columns = d1.columns
# update indices that are the same
d2.update(d1)
# append indices that are different
d2 = d2.append(d1.loc[d1.index.difference( d2.index ) ])
d2

您需要bombine_first:

d2.combine_first(d1)
#b
#1  3.0
#2  3.0
#5  6.0

最新更新