Python3在pickle中查找许多功能

时间:2019-03-12 16:08:51

标签: python python-3.x dictionary pickle

我阅读了适用于Python 2 Number of features in dictionary

的问题

然后,我遵循了该问题的解决方案,但没有用,TypeError: 'dict_keys' object does not support indexing

如何在每个泡菜对象中查找特征数量

这是github存储库(如果需要),https://github.com/udacity/ud120-projects

/datasets_questions/explore_enron_data.py的修改代码

import pickle
import pprint

enron_data = pickle.load(open("../final_project/final_project_dataset.pkl", "rb"))
pp=pprint.PrettyPrinter()
pp.pprint(enron_data)
print("Number of people:",len(enron_data))

no_of_features = len(list(enron_data.keys()))  

print("Number of features:",no_of_features)

我期望以下输出

Number of people: 146
Number of features: 21

这是我得到的

Number of people: 146
Number of features: 146

1 个答案:

答案 0 :(得分:0)

如果您打印所有的enron_data,您将拥有

{'METTS MARK': {'salary': 365788, 'to_messages': 807, 'deferral_payments': 'NaN', //etc

如您所见,您将名称作为关键字,并将{features}作为值。这些功能也有其自己的键和值。因此,您不能只计算enron_data.keys()的长度。你最好的

print(len(enron_data['METTS MARK']))

输出为

21