使用字符串作为指数的Python Ndarray的构建



当涉及Python时,我肯定是新手。学习它大约1周了,并意识到我应该使用很多工具。其中之一是numpy.darray。但是,我很难将其应用于我的问题。

i具有以下数组数据结构:字符串 ->值。那是我想要

之类的东西

a [" string1"] = 4.5

我需要将此数组与" attr" -> a [string1"] 的对象相关联,所以最后我有以下

b [" attr"] ->(a [" string1"] -> 4.5)

这样,如果我要打电话像以下

b [" attr"] [" string1"] 它将返回4.5

换句话说,我可以使用字符串而不是整数访问我的数组。也许还有另一种更好的方法可以在Python中做到这一点?

您正在寻找字典。请参阅数据结构:5.5。字典。字典不仅允许您存储数值值,还允许其他数据结构作为列表,数组,数据帧或字典本身

您的示例:

a = {"string1": 4.5}
a["string1"]
> 4.5
b = {"att": a}
b["attr"]["string1"]
> 4.5

正如其他答案所述,您很可能想要词典。但是,仅出于您的信息,存在类似Numpy的结构,可以用字符串索引,即Pandas,SeriesDataFrame提供的结构(对于二维为Xarray)。例如,使用Series对象:

import pandas as pd
s = pd.Series([1, 2, 3], index=['abc', 'def', 'ghi'])
print(s)
# abc    1
# def    2
# ghi    3
# dtype: int64
print(s['abc'])
# 1
print(s[['def', 'ghi']])
# def    2
# ghi    3
# dtype: int64

最新更新