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