Python 重新排列数据帧结构

Python 重新排列数据帧结构,python,pandas,Python,Pandas,我得到一个数据帧 df A B 0 1 4 1 2 5 2 3 6 为了进一步处理,将df重新构造会更方便 详情如下: letters numbers 0 A 1 1 A 2 2 A 3 3 B 4 4 B 5 5 B 6 我如何才能做到这一点?与以下一起使用: 或++: 可能最简单的方法是: df = df.unstack().reset_index(level=1, drop=True).reset_ind

我得到一个数据帧

df
   A  B
0  1  4
1  2  5
2  3  6
为了进一步处理,将df重新构造会更方便 详情如下:

 letters numbers
0  A     1
1  A     2
2  A     3
3  B     4
4  B     5
5  B     6
我如何才能做到这一点?

与以下一起使用:

或++:

可能最简单的方法是:

df = df.unstack().reset_index(level=1, drop=True).reset_index()
df.columns = ['letters','numbers']
print (df)
  letters  numbers
0       A        1
1       A        2
2       A        3
3       B        4
4       B        5
5       B        6
a = np.concatenate(df.values)
b = np.repeat(df.columns,len(df.index))
df = pd.DataFrame({'letters':b, 'numbers':a})
print (df)
  letters  numbers
0       A        1
1       A        4
2       A        2
3       B        5
4       B        3
5       B        6
In [36]: pd.melt(df, var_name="letters", value_name="numbers")
Out[36]: 
  letters  numbers
0       A        1
1       A        2
2       A        3
3       B        4
4       B        5
5       B        6