gpt4 book ai didi

python - 结构化二维 Numpy 数组 : setting column and row names

转载 作者:太空狗 更新时间:2023-10-29 22:24:48 25 4
gpt4 key购买 nike

我正在尝试找到一种很好的方法来获取二维 numpy 数组并将列名和行名附加为结构化数组。例如:

import numpy as np

column_names = ['a', 'b', 'c']
row_names = ['1', '2', '3']

matrix = np.reshape((1, 2, 3, 4, 5, 6, 7, 8, 9), (3, 3))

# TODO: insert magic here

matrix['3']['a'] # 7

我已经能够像这样设置列:

matrix.dtype = [(n, matrix.dtype) for n in column_names]

这让我可以执行 matrix[2]['a'] 但现在我想重命名行以便我可以执行 matrix['3']['a'].

最佳答案

据我所知,用纯结构化 NumPy 数组“命名”行是不可能的。

但是如果你有 可以提供一个“索引”(本质上就像一个“行名”):

>>> import pandas as pd
>>> import numpy as np
>>> column_names = ['a', 'b', 'c']
>>> row_names = ['1', '2', '3']

>>> matrix = np.reshape((1, 2, 3, 4, 5, 6, 7, 8, 9), (3, 3))
>>> df = pd.DataFrame(matrix, columns=column_names, index=row_names)
>>> df
a b c
1 1 2 3
2 4 5 6
3 7 8 9

>>> df['a']['3'] # first "column" then "row"
7

>>> df.loc['3', 'a'] # another way to index "row" and "column"
7

关于python - 结构化二维 Numpy 数组 : setting column and row names,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44708911/

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