【发布时间】:2018-12-03 22:14:37
【问题描述】:
我需要创建一个形式为 (id, {feature name: features weight}) 的可迭代对象以使用 python 包。
我的数据存储在 pandas 数据框中,这里是一个示例:
data = pd.DataFrame({"id":[1,2,3],
"gender":[1,0,1],
"age":[25,23,40]})
对于 {feature name: features weight}) 部分,我知道我可以使用这个:
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}]
我知道我也可以遍历 datframe 以获取 id,如下所示:
(row[1] for row in data.itertuples())
但是我可以将这两个放在一起得到一个可迭代的(生成器对象) 我试过了:
((row[1] for row in data.itertuples()),fe[i] for i in range(len(data)))
但语法错误。 你们知道怎么做吗?
【问题讨论】:
标签: python python-3.x pandas dataframe iterable