我有一个包含多种水果的特征数据集,标签使用TensorFlow给出了一种逻辑概率,用以判断某一水果是否为苹果。然而,我似乎无法将预测数据添加到原始数据框中。
predictions = DNN_classifier.predict(input_fn=is_apple_ds)
这返回了一个生成器类对象,如果我创建一个列并将其添加到原始数据框中,它只会显示“生成器类对象在某个地址”。
我希望在原始数据框中添加一列,显示实际的预测值,而不是这样。
编辑:我的问题简单来说就是如何从生成器对象中提取所有值并添加到pandas数据框中
回答:
根据tensorflow
的文档,predict()
会yield
每个预测。这就是为什么你会得到一个生成器对象。
def generate_sequence(): for x in range(0,10): yield xgenerated_sequence = generate_sequence()
>> print(generated_sequence)<generator object generate_sequence at 0x7fdc31f23990>
你可以通过将生成器对象转换为list
或直接使用pd.DataFrame()
将其放入DataFrame
中。
>> list(generated_sequence)[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]>> pd.DataFrame(generated_sequence)00 01 12 23 34 45 56 67 78 89 9