如何更好地理解数据集中转换为字典的数据的组织方式? (毫升)

时间:2018-12-17 20:58:32

标签: python tensorflow machine-learning

我从我正在使用的训练特征(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。这是清单吗?组织此数据的是什么?措辞更佳:键值对值中可以存储更多数据的对象是什么?

字典-> keyvalue

value-> x

x->例如1064.0

x是什么类型的对象?

编辑:这是一个熊猫数据框。

2 个答案:

答案 0 :(得分:0)

我认为您需要更深入地研究python如何存储数字等。简而言之,python将几乎所有东西都存储为对象(或至少指向存储在内存中的对象的指针),其中包括数字。

因此,在您的示例中,它存储的值为float64的类1064.0

还要知道float64numpy等同于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]}