我不确定如何使用python执行此操作,但被卡住了。列中的代码值是列表格式。当试图将该列表传递给melt的value_vars时,出现错误。当我尝试转换为元组时,它仍然包含列表括号。该文档说“ value_vars –元组,列表或ndarray,可选” –没有成功的list / tuple。预先感谢。
我的数据:
aSlice = dataColor[vertStart:vertEnd, horiStart:horiEnd]
aSlice.shape # 99, 100
aSlice[0] = dataColor[1101:1200] = dataColor[1101:] = dataColor[1101:1200]
该元组在以下输出中看起来不正确:
sector ticker
0 Communication Services [ATVI.OQ, GOOGL.OQ, GOOG.OQ, T.N, CTL.N, CHTR....
1 Consumer Discretionary [AAP.N, AMZN.OQ, APTV.N, AZO.N, BBY.N, BKNG.OQ...
这是value_vars错误:
rowData = groups.loc[groups['sector'] == 'Communication Services']
print(tuple(rowData['ticker']))
new_df = pd.melt(new_df, id_vars=['date'], value_vars=rowData['ticker'])
编辑 使用
解决(['ATVI.OQ', 'GOOGL.OQ', 'GOOG.OQ', 'T.N', 'CTL.N', 'CHTR'],)
答案 0 :(得分:0)
您的数据实际上不是宽格式。我认为您想要的只是爆炸专栏:
df = pd.DataFrame({'A': [[1, 2, 3], [4, 5, 6]], 'B': ['A', 'B']})
df.explode('A')
Out[21]:
A B
0 1 A
0 2 A
0 3 A
1 4 B
1 5 B
1 6 B
但是我不确定最终目标是什么。参见http://xyproblem.info/。