我阅读了适用于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
答案 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