如何通过for循环在Python中创建DataFrame合并X与预测Y结果
解决方法
你当前的问题是用pd.Series把每个[X, y]组合当成了单个元素,所以只生成了一列。要得到两列的DataFrame,有两种简单方法:
方法1:基于你现有的循环代码修改
你的循环已经把X和y配对成了二维列表,直接用这个列表构造DataFrame并指定列名即可:
import pandas as pd predictions = [] for i in range(100): predictions.append([X_unseen[i], y_pred_unseen[i]]) # 构造DataFrame,指定列名为x和y df = pd.DataFrame(predictions, columns=['x', 'y']) print(df)
方法2:跳过循环,直接构造(更高效)
如果X_unseen和y_pred_unseen是可迭代对象(比如列表、numpy数组),可以直接用字典构造DataFrame,省去循环步骤:
import pandas as pd # 取前100个元素,直接对应成两列 df = pd.DataFrame({ 'x': X_unseen[:100], 'y': y_pred_unseen[:100] }) print(df)
这两种方法都会生成你需要的格式:
x y 0 ['dude', 'adventure', ...] ... 1 ['rape', 'joke'] cyberbullying ...
内容的提问来源于stack exchange,提问作者Victoria Kotlyarova
相关产品推荐
相关产品推荐

