我有一个数据帧,下面分享了一个示例-
Index Name Value
3 A xyz
4 B asd
5 C cvz
6 D red
7 E fsd
3 A gfd
4 B gsa
5 C hgd
6 D ewr
7 E dgs
预期产出
A B C D E
xyz asd cvz red fsd
gfd gsa hgd ewr dgs
这个预期输出背后的原因是我们重复了Index
列中的值,并且列名出现在Name
中。我已尝试使用groupby
和transpose
,但无法获得预期的输出
编辑1
也可能有以下情况
Index Name Value
3 A xyz
4 B asd
6 D red
7 E fsd
3 A gfd
4 B gsa
5 C hgd
6 D ewr
7 E dgs
3 A dfd
4 B dsa
5 C dgd
6 D dwr
预期产出
A B C D E
xyz asd red fsd
gfd gsa hgd ewr dgs
dfd dsa dgd dwr
编辑2
解释:列Index
中有一个重复的值列表,每当出现负变化/无变化时(下一行的索引值小于或等于上一行),表示对应的值是下一行的值。
在提供的第二个示例中,列A、B、D和E的值在索引的第一次重复出现时出现,而这些重复出现的最后一次出现时没有E
,因此这些行应与预期输出的行相同
谢谢
试试这个:
多亏了@Terry的解决方案。我只添加了
fillna
方法输出:
相关问题 更多 >
编程相关推荐