我正在尝试在Python中转换 Dataframe -如果可以的话,很高兴使用Pandas或NumPy
原始的数据框看起来像这样
A B D E
foo-1 bar-6 C1 11
foo-2 bar-5 C2 12
foo-3 bar-4 C1 13
foo-4 bar-3 C1 14
foo-5 bar-2 C2 15
foo-6 bar-1 C2 16
我试着把它变成这样
A B C1 C2
foo-1 bar-6 11 NAN
foo-2 bar-5 NAN 12
foo-3 bar-4 13 NAN
foo-4 bar-3 14 NAN
foo-5 bar-2 NAN 15
foo-6 bar-1 NAN 16
否则我就把D & E科
A B D E C1 C2
foo-1 bar-6 C1 11 11 NAN
foo-2 bar-5 C2 12 NAN 12
foo-3 bar-4 C1 13 13 NAN
foo-4 bar-3 C1 14 14 NAN
foo-5 bar-2 C2 15 NAN 15
foo-6 bar-1 C2 16 NAN 16
我试过这个
for row in dataframe.index:
dataframe\[dataframe\[D\]\] = dataframe\[E\]
但结果不对
3条答案
按热度按时间6tqwzwtp1#
尝试透视原始 Dataframe 的一部分,然后将其连接回来:
图纸:
ctzwtxfj2#
这个问题出现了很多,因为它是不明显的操作是什么。一个词是pivot table。它也是堆栈操作的反面。因此,您可以使用
unstack
,如@ScottBenson的答案或DataFrame.pivot
方法。输出量
qvtsj1bj3#
这里有一个相当简单的解决方案。让我知道如果你有任何问题(:
| | 一个|B级|C1| C2|
| - -----|- -----|- -----|- -----|- -----|
| 0| foo-1|巴-6|十一|南|
| 1| foo-2|巴-5|南|十二岁|
| 2| foo-3|巴-4|十三个|南|
| 3| foo-4| bar-3|十四|南|
| 4| foo-5|巴-2|南|十五|
| 5个|foo-6| bar-1|南|十六|