2 回答

TA貢獻(xiàn)2011條經(jīng)驗 獲得超2個贊
如果指定所有列,則可以按如下方式進(jìn)行:
df2.loc[0:1, ['P', 'Q', 'R', 'S', 'T']] = df1.loc[0:1].values
結(jié)果數(shù)據(jù)框:
M N O P Q R S T
0 1 2 3 8.0 6.0 4.0 9.0 7.0
1 4 5 6 2.0 6.0 3.0 8.0 5.0
2 7 8 9
3 8 6 5
4 5 4 3

TA貢獻(xiàn)1841條經(jīng)驗 獲得超3個贊
您可以將匹配的列和索引名稱重命名為 second DataFrame,因此可能DataFrame.update用于 tuple 指定的正確方式pos:
data_1 = df1.loc[0:1]
print (data_1)
A B C D E
0 8 6 4 9 7
1 2 6 3 8 5
pos = (2, 'P')
data_1 = data_1.rename(columns=dict(zip(data_1.columns, df2.loc[:, pos[1]:].columns)),
index=dict(zip(data_1.index, df2.loc[pos[0]:].index)))
print (data_1)
P Q R S T
2 8 6 4 9 7
3 2 6 3 8 5
df2.update(data_1)
print (df2)
M N O P Q R S T
0 1 2 3 NaN NaN NaN NaN NaN
1 4 5 6 NaN NaN NaN NaN NaN
2 7 8 9 8.0 6.0 4.0 9.0 7.0
3 8 6 5 2.0 6.0 3.0 8.0 5.0
4 5 4 3 NaN NaN NaN NaN NaN
工作rename原理 - 想法是選擇指定列之后的所有列和所有索引值,索引名稱按loc然后按列名稱壓縮data_1并轉(zhuǎn)換為字典。data_1所以最后用下一列、索引值替換 bot、索引和列名稱。
添加回答
舉報