我想要分解一份pandas DataFrame,使用列标题作为新的数据列,并创建一个包含行索引和列的所有组合的列表。更容易通过示例演示:
index_col = ["store1", "store2", "store3"]
cols = ["January", "February", "March"]
values = [[2,3,4],[5,6,7],[8,9,10]]
df = pd.DataFrame(values, index=index_col, columns=cols)
我希望从这个DataFrame中获得以下列表:
[['store1', 'January', 2],
['store1', 'February', 3],
['store1', 'March', 4],
['store2', 'January', 5],
['store2', 'February', 6],
['store2', 'March', 7],
['store3', 'January', 8],
['store3', 'February', 9],
['store3', 'March', 10]]
有没有方便的方法做到这一点?
df.unstack().swaplevel().reset_index().sort_values("level_0").values.tolist()
- d.b