dataframe数据变long python有stata类似的命令吗

  统计/机器学习 Python    浏览次数:2259        分享
0

比如

id 2012 2013 

a  1          2

b   3        4

变成

id year 

a 2012 1 

a 2013 2

b 2012 3

b 2013 4

 

constant007   2019-03-29 20:47



   1个回答 
1

pandas里的stack有类似的效果

df = pd.DataFrame()
df[2012] = [1, 3]
df[2013] = [2, 4]
df.index = ['a', 'b']

columns = [('year', 2012), ('year', 2013)]
df.columns = pd.MultiIndex.from_tuples(columns)
df.stack().reset_index()
SofaSofa数据科学社区DS面试题库 DS面经

okayguy   2019-06-06 11:07



  相关主题

怎么把一个大的dataframe按行分割成若干个小的dataframe。   1回答

python的dataframe如何重新排列行或者列   1回答

print里的"%.2f"是什么意思?   1回答

怎么用python批量生成含重复数值的数列?   1回答

用python生成一个取值在a到b之间的随机矩阵   1回答

怎么合并(串联)两个dataframe?   1回答

python里@property有什么用   2回答

python里的<<或者>>符号是什么意思?   2回答

print的时候报错:TypeError: unsupported operand type(s) for /: 'str' and 'int'   1回答

python __del__ 求解释   3回答

对tuple的元素赋值时报错:'tuple' object does not support item assignment   1回答

python里的cdef是什么?   1回答



回答问题时需要注意什么?

我们谢绝在回答前讲“生动”的故事。

我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。

我们谢绝答非所问。

我们谢绝自己不会、硬要回答。

我们感激每一个用户在编写答案时的努力与付出!