我一直在寻找我的答案,可能只是没有使用正确的措辞,只想到使用列表作为字典键值。你知道吗
我需要采取20 csv文件和匿名识别学生,教师,学校和地区的信息为研究目的的测试数据。csv文件的行数从20K到50K,列数从11到20,并非所有文件都有相同的信息。你知道吗
一个文件可能有:
studid, termdates, testname, score, standarderr
另一个可能有:
termdates, studid, studfirstname, studlastname, studdob, ethnicity, grade
还有一种可能:
termdates, studid, teacher, classname, schoolname, districtname
我把不同的数据放进每种类型的文件/数据集的字典里,也许这不是最好的,但是当我试图用字典作为一个学生可能参加了多个测试(如语言、阅读、数学等)的键值时,我陷入了困境
例如:
studDict{studid{'newid': 12345, 'dob': 1/1/1, test1:{'score': 50, 'date': 1/1/15}, test2:{'score': 50, 'date': 1/1/15}, 'school': 'Hard Knocks'},
studid1{'newid': 12345, 'dob': 1/1/1, test1:{'score': 50, 'date': 1/1/15}, test2:{'score': 50, 'date': 1/1/15}, 'school': 'Hard Knocks'}}
任何关于哪个库的指导或一个方法的简要说明都将不胜感激。我很了解Python,我不需要一个完整的手,但帮助我过马路将是伟大的。:D个
澄清
我有一个更好的机会中彩票比这个项目被多次使用,所以方法越简单越好。如果它是一个重复的项目,我很可能会将数据转储到db表中并从那里开始工作。你知道吗
如果我对你的解释正确的话,最后你想要一个
dict
以学生(即studid
)为键,不同的学生相关数据为值?这可能不是您想要的,但我认为它将为您指明正确的方向(改编自this answer):最后应该给你一个dict
D
,其中stuid
是键,测试结果列表是值。每个测试结果都是namedtuple
。假设每个文件都有一个studid
列!。你知道吗字典不能是键,但字典可以是另一个字典中某个键的值(dict of dict)。然而,为每个元组实例化不同长度的字典可能会使数据分析变得非常困难。你知道吗
在适当的情况下,考虑使用
Pandas
将元组读入具有null
值的数据帧。你知道吗dict
API:https://docs.python.org/2/library/stdtypes.html#mapping-types-dictPandas
数据处理包:http://pandas.pydata.org/不能将词典用作词典的键。键必须是可哈希的(即不可变的),而字典则不是,因此不能用作键。你知道吗
您可以将一个字典与任何其他值一样存储在另一个字典中。例如,你可以
假设您在别处定义了
studid
和studid1
。你知道吗相关问题 更多 >
编程相关推荐