我需要创建一个迭代器,形式为(id, {特征名称: 特征权重}),以便使用Python包。我的数据存储在pandas数据框中,以下是一个示例:
我知道我也可以遍历数据框以获取id,就像这样:
但我可以将这两个合并为一个可迭代对象(生成器对象) 我尝试了:
data = pd.DataFrame({"id":[1,2,3],
"gender":[1,0,1],
"age":[25,23,40]})
对于{特性名称: 特性权重}这一部分,我知道可以使用以下方法:
fe = data.to_dict(orient='records')
Out[28]:
[{'age': 25, 'gender': 1, 'id': 1},
{'age': 23, 'gender': 0, 'id': 2},
{'age': 40, 'gender': 1, 'id': 3}]
我知道我也可以遍历数据框以获取id,就像这样:
(row[1] for row in data.itertuples())
但我可以将这两个合并为一个可迭代对象(生成器对象) 我尝试了:
((row[1] for row in data.itertuples()),fe[i] for i in range(len(data)))
但是语法有误。你们知道怎么做吗?