我有2个数据框,例如:
df1:
index x y
abc DF UK
cde DF FR
grt FD UK
和
df2:
index DF UK FR FD
abc nan nan nan nan
cde nan nan nan nan
grt nan nan nan nan
我想有一个解决方案,将第二个数据框设置为:
df3:
index DF UK FR FD
abc 1 1 nan nan
cde 1 nan 1 nan
grt nan 1 nan 1
我试着这样做:
df3.ix[df1.index, df1.ix[:,0]] = 1
df3.ix[df1.index, df1.ix[:,1]] = 1
这似乎在df3中的列的所有行中放置了1。
答案 0 :(得分:0)
pd.get_dummies(df1.set_index('index')).replace(0, np.nan)
df.columns = [c[2:] for c in df.columns]
DF FD FR UK
index
abc 1.0 NaN NaN 1.0
cde 1.0 NaN 1.0 NaN
grt NaN 1.0 NaN 1.0