在python方面,我无疑是一名新手。大约花了1周的时间来学习它,并意识到这里应该使用很多工具。其中之一是numpy.darray。但是,我很难将其应用于我的问题。
我具有以下数组数据结构:字符串->值。那就是我想要的
a [“ string1”] = 4.5 。
然后我需要将此数组与“ attr”-> a [“ string1”] 所在的对象相关联,所以最后我得到以下内容
b [“ attr”]->(a [“ string1”]-> 4.5)
这样,如果我要打如下电话
b [“ attr”] [“ string1”] ,它将返回4.5
换句话说,我可以使用2D numpy数组而不是整数来访问我的数组。也许还有另一种更好的方法可以在python中做到这一点?
答案 0 :(得分:3)
您正在寻找字典。请参阅Data Structures: 5.5. Dictionaries。字典使您不仅可以存储数值,还可以存储其他数据结构作为列表,数组,数据框或字典本身。
您的示例:
a = {"string1": 4.5}
a["string1"]
> 4.5
b = {"att": a}
b["attr"]["string1"]
> 4.5
答案 1 :(得分:0)
如the other answer所述,您很可能想要一本字典。但是,仅作为参考,存在类似NumPy的结构可以通过字符串索引,即Pandas,Series
和DataFrame
提供的结构(对于二维以上的结构,{ {3}})。例如,使用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