我从我正在使用的训练特征(training_features)的12,000 x 9数据集开始,并将其转换为字典。从中我从单个功能中提取了一个示例,例如:dict(training_features)['households']
。这将返回一列:
0 1064.0
1 839.0
2 286.0
3 464.0
4 1032.0
...
11995 339.0
11996 377.0
11997 18.0
11998 441.0
11999 385.0
Name: households, Length: 12000, dtype: float64
从此功能列中提取一个示例
(例如dict(training_features)['households'][0]
)
返回1064.0
。
调用dtype:dict(training_features)['households'][0].dtype
返回dtype(float64)
。
所以我不理解的是字典(dtype:float64)中的值如何包含另一段数据,也是dtype:float64。这是清单吗?组织此数据的是什么?措辞更佳:键值对值中可以存储更多数据的对象是什么?
字典-> key
:value
value
-> x
x
->例如1064.0
x
是什么类型的对象?
编辑:这是一个熊猫数据框。
答案 0 :(得分:0)
我认为您需要更深入地研究python如何存储数字等。简而言之,python将几乎所有东西都存储为对象(或至少指向存储在内存中的对象的指针),其中包括数字。
因此,在您的示例中,它存储的值为float64
的类1064.0
。
还要知道float64
与numpy等同于python的float。
有关python如何存储数字的更多说明,请参见here
对于dicts,他们可以将任何可散列的对象作为key
,并将任何对象作为值。
几乎所有内容都可以位于dict的值位置,而键位置需要可哈希化,这样python可以确定索引等,从而可以区分键字段以区分键。这比我要解释的要深,但是对于这种情况应该是一个很好的解释。
答案 1 :(得分:0)
x可以是(几乎?)任何有效类型,这里是标量(int,float ...),但也可以是列表,集合,元组...
在这里,您的值1064.0的类型为float64,是标量(“常量”),并且是键(值)指向0的值,如简单的字典{0:1024.0}
您可以在列表中包含多个值,如{0:[1.0,2.0,3.0],1:[4.0]}