我需要把一个df转换成antoher,作为原始的(df1)像这样:
value
A--A 4
A--B 2
A--C 1
B--B 2
C--C 3
D--B 2
E--E 6
然后我得到另一个df2,填充了0:
A B C D E
A 0 0 0 0 0
B 0 0 0 0 0
C 0 0 0 0 0
D 0 0 0 0 0
E 0 0 0 0 0
F 0 0 0 0 0
G 0 0 0 0 0
我需要将其转换为最终的df3,从df1中的索引对中获取值,用“--”分隔,并按如下方式填充:
A B C D E
A 4 2 1 0 0
B 2 2 0 2 0
C 1 0 3 0 0
D 0 2 0 0 0
E 0 0 0 0 6
F 0 0 0 0 0
G 0 0 0 0 0
pd2中可能存在pd1中不存在的对。在这种情况下,它仍然是0。有什么建议
您可以从
df
本身创建它。首先,使用str.split
将df.index
设置为MultiIndex
,然后unstack
和reindex
如果您知道要使用哪些行和列,那么甚至不需要
df2
根据OP的评论,要保持对称性,请使用pivot表以保留nan,然后使用转置
fillna
:相关问题 更多 >
编程相关推荐