gpt4 book ai didi

python - 如何从 Pandas MultiIndex Dataframe 返回 NumPy 数组?

转载 作者:行者123 更新时间:2023-12-04 08:37:27 26 4
gpt4 key购买 nike

我有一个 MultiIndexed pandas Dataframe,我想将其转换为一个 numpy 数组,其中 MultiIndex 第一级中的每个元素对应于矩阵的一行。所以给出下面的数据框:

df = pd.DataFrame(np.array([[1, 2, 3, 4 ], [2 ,1, 2, 3], [1, 3, 4 , 7], [1, 3, 5 , 7], [ 2 , 3 , 4 , 5]]),
columns=['a', 'b', 'c', 'd'])


df = df.set_index(['a','b']).sort_index()

df

enter image description here
我想返回:
[ [ [3 , 4] , [4 , 7] , [5 , 7] ] , [ [2 , 3] , [4 , 5] ] ]
我试过使用 df.unstack().values但到目前为止还没有成功。任何正确方向的提示或指示将不胜感激。

最佳答案

尝试这个:

[i.to_numpy().tolist() for _, i in df.groupby('a')]
输出:
[[[3, 4], [4, 7], [5, 7]], [[2, 3], [4, 5]]]
使用列表推导式 groupby此数据框中的级别 0 或“a”。

关于python - 如何从 Pandas MultiIndex Dataframe 返回 NumPy 数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64734190/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com