如何使用新名称(使用for)为每次迭代在数据帧中添加新列?python
我想对列表中的每一项进行计算。然后,我想将这些新值添加到数据帧中的列中。列的名称应为:name\u item 这就是我到目前为止所做的:如何使用新名称(使用for)为每次迭代在数据帧中添加新列?python,python,pandas,Python,Pandas,我想对列表中的每一项进行计算。然后,我想将这些新值添加到数据帧中的列中。列的名称应为:name\u item 这就是我到目前为止所做的: list_thr = [0.1, 0.5] for n in list_thr: y_scores = (best_classifier.predict_proba(X_test)[:,1]>=n).astype(int) probs_score = best_classifier.predict_proba(X_test)
list_thr = [0.1, 0.5]
for n in list_thr:
y_scores = (best_classifier.predict_proba(X_test)[:,1]>=n).astype(int)
probs_score = best_classifier.predict_proba(X_test)
df_final['preds'] = y_scores #df_final is the dataframe I want to put the columns
但是,如果我保留它,“preds”列将在每个iteraction中被替换。
我想要的是每个iTreaction对应一列,名称中有“n”,例如:
df_最终版本:
preds_0.1 preds_0.5
1 1
0 0
0 1
0 0
1 1
如何更改循环以获得该结果?您可以在定义列名时将
n
作为列名的一部分进行迭代。这将为每个循环创建一个名为preds
和后缀n
的新列:
for n in list_thr:
y_scores = (best_classifier.predict_proba(X_test)[:,1]>=n).astype(int)
probs_score = best_classifier.predict_proba(X_test)
df_final['preds'+str(n)] = y_scores