我不确定如何使用python实现这一点,但我被卡住了。列中的ticker值采用列表格式。当试图将该列表传递给melt的value_vars时,我得到一个错误。当我尝试转换为元组时,它仍然包含列表括号。文档中说“value_vars——tuple、list或ndarray,可选”——没有成功的列表或tuple。提前谢谢
我的数据:
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...
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'],)
下面是值_vars error:
TypeError: unhashable type: 'list'
编辑 解决使用
tup = tuple(rowData['ticker'].explode())
new_df = pd.melt(new_df, id_vars=['date'], value_vars=tup)
您的数据实际上不是宽格式的。我想你想要的只是把这个专栏炸开:
但我不能百分之百确定最终目标是什么。见http://xyproblem.info/
相关问题 更多 >
编程相关推荐