我希望带两个csvs(通过pandas读入),并将它们组合成一个3D DataFrame。
格式与此类似:
表1:
key1 key2 key3 value
x1 y1 z1 1
x1 y2 z1 2
x1 y3 z1 3
x2 y1 z1 4
x2 y2 z1 5
x2 y3 z2 6
x3 y1 z2 7
x3 y2 z2 8
x3 y3 z2 9
表2:
key2 key3 value x1 x2 x3
y1 z1 0
y2 z1 1
y3 z1 2
y1 z2 3
y2 z2 4
y3 z2 5
我的目标是在表2中使用' x' header应该是table1中的值的查找(使用所有3个键)乘以table2中的值。
答案 0 :(得分:2)
IIUC:
d1.set_index(
['key2', 'key3', 'key1']
).value.unstack().rename_axis(None, 1).reset_index()
key2 key3 x1 x2 x3
0 y1 z1 1.0 4.0 NaN
1 y1 z2 NaN NaN 7.0
2 y2 z1 2.0 5.0 NaN
3 y2 z2 NaN NaN 8.0
4 y3 z1 3.0 NaN NaN
5 y3 z2 NaN 6.0 9.0