我需要以特定的方式将两个表合并在一起:
第一个就是这样:
Out[7]:
A B C D
a 1 4 4 4
b 4 5 5 5
c 3 6 6 6
d 8 7 7 7
Second.one喜欢这个:
Out[8]:
T1 T2 C2 D2 S2.
a A4 B4 C4 D4. A.
a .............. B.
a .............. C
a .............. D
b A5 B5 C5 D5. A
b ............... B
..
..
c A6 B6 C6 D6. A
...
...
d A7 B7 C7 D7. A
d ............... B
...
我希望执行以下操作:
Out[8]:
T1 T2 C2 D2 S2. M
a A4 B4 C4 D4. A 1
a. A2. X4. C3. B8. B 4
a. S7. N4. R3. S7. C 4
.
.
.
b A5 B5 C5 D5. A 4
b. F4. F6. C8. A5. B 5
....
.....
c A6 B6 C6 D6. C. 6
.....
......
d A7 B7 C7 D7. D. 7
......
.......
目标:查看第一个和第二个数据框(a,b,c,d)中第一列的值,当第一个df中的NAME COLUMN对应于值ROW&#时,使用第一个数据帧的值创建一个新列39; S在第二列的S2中。它不是对角
答案 0 :(得分:0)
我认为需要:
df = (df2.set_index('S2', append=True)
.rename_axis((None, None))
.join(df1.stack().rename('M'))
.reset_index(level=1)
.rename(columns={'level_1':'S2'}))
print (df)
S2 T1 T2 C2 D2 M
a A A4 B4 C4 D4. 1
b B A5 B5 C5 D5. 5
c C A6 B6 C6 D6. 6
d D A7 B7 C7 D7. 7