我確信這將是一個'doh'時刻,但我很難嘗試複製數據幀之間的一組列, df1中的特定列也在df2中找到。在特定值匹配的Pandas dfs之間複製特定列的集合
在這裏,我要建的列(COLS)列表,不包括df1中的'p_people_id'字段並在df2中創建這些字段並指定一個nan值。 的cols = 之後DF2看起來是這樣的: 這些DFS我試圖尋找找到所有實例,其中df2.a_people_id == df1.p_people_id並指定DF1的[COLS]值到DF2實例工作。
使用.loc查找實例非常簡單。我已經成功地能夠選擇我想要的cols使用的.loc以及
df2.loc[df2['a_people_id']==df1['p_people_id'][0],np.array(cols)]
但是,如果我嘗試這樣的事情來設置/分配
df2.loc[df2['a_people_id']==df1['p_people_id'][0],np.array(cols)]=df1.loc[df1['p_people_id']==df1['p_people_id'][0],np.array(cols)]
什麼也沒有發生,我不知道爲什麼:凡在DF1 ID字段中的ID字段匹配DF2那些特定列。
我試圖以各種方式利用.ix,.loc,.iloc,.where,.select,.set,但這必須是其中的一個地方,我只是「不做它」對。」我可以發佈其他例子,我已經設法讓語法正確地找到[cols]特定的id匹配的位置,並且沒有錯誤或'view vs copy'警告被打印,但是也沒有任何分配。我在哪裏錯了?
這看起來像它正在做我正在尋找的除了一點點重複,但這是一個最小的問題,我可以在加入dfs後解決。謝謝! – abou