gpt4 book ai didi

具有非整数索引的 Python Numpy 二维数组

转载 作者:太空宇宙 更新时间:2023-11-04 09:55:12 24 4
gpt4 key购买 nike

背景:我正在尝试构建亲和矩阵以馈入 sklearn 谱聚类。

在这个问题中,我遇到了 numpy 数组索引是从 0 开始的整数的问题,对于我的应用程序,我使用了某种特定于应用程序的 ID(基于字符串,随机示例“abc123”)。我想创建一个由我拥有的所有数据点索引的 2d numpy 数组。例如,给定两个点 points = ["abc123", "xyz456"],我会得到 2d numpy 数组,其行索引和列索引为 points。这样我就可以通过类似于 arr["abc123"]["xyz456"] = dist

的方式轻松指定两点之间的距离

我怎样才能做到这一点?谢谢。

最佳答案

Pandas可以做到这一点以及更多...

In [41]: import pandas as pd

In [122]: a = np.random.randint(100, size=(5, 3))

In [123]: a
Out[123]:
array([[53, 7, 34],
[54, 56, 85],
[ 0, 11, 83],
[63, 28, 88],
[65, 19, 44]])

In [124]: df = pd.DataFrame(a, index=list('abcde'), columns=list('xyz'))

In [125]: df
Out[125]:
x y z
a 53 7 34
b 54 56 85
c 0 11 83
d 63 28 88
e 65 19 44

In [126]: df.loc[['a','d'], ['x','y']]
Out[126]:
x y
a 53 7
d 63 28

我们总是可以使用 .values 访问器从 DataFrame 中获取 Numpy 数组:

In [127]: df.values
Out[127]:
array([[53, 7, 34],
[54, 56, 85],
[ 0, 11, 83],
[63, 28, 88],
[65, 19, 44]])

In [128]: df.loc[['a','d'], ['x','y']].values
Out[128]:
array([[53, 7],
[63, 28]])

关于具有非整数索引的 Python Numpy 二维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46184754/

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