首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >数据重排结构

数据重排结构
EN

Stack Overflow用户
提问于 2017-04-26 10:11:13
回答 2查看 129关注 0票数 1

我得到了一个数据

代码语言:javascript
复制
df
   A  B
0  1  4
1  2  5
2  3  6

为了进一步处理,对df进行如下重组将更为方便:

代码语言:javascript
复制
 letters numbers
0  A     1
1  A     2
2  A     3
3  B     4
4  B     5
5  B     6

我怎样才能做到这一点?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-04-26 10:12:47

unstackreset_index结合使用:

代码语言:javascript
复制
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

numpy.concatenate + numpy.repeat + DataFrame

代码语言:javascript
复制
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
票数 2
EN

Stack Overflow用户

发布于 2017-04-26 10:18:32

可能对melt来说最简单

代码语言:javascript
复制
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
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43631174

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档