Python 基于另一列创建true或false列';s值

Python 基于另一列创建true或false列';s值,python,pandas,Python,Pandas,对于Prediction列的最小值,我想在is\u best列中返回True,其余的返回False。所以我想要的是: import numpy as np import pandas as pd df_summary_sklearn = pd.DataFrame(columns=['Method','Prediction' , 'is_best']) df_summary_sklearn['Method'] = ['1-KNN', '5-KNN', '10-KNN'] df_summary_s

对于
Prediction
列的最小值,我想在
is\u best
列中返回
True
,其余的返回
False
。所以我想要的是:

import numpy as np
import pandas as pd

df_summary_sklearn = pd.DataFrame(columns=['Method','Prediction' , 'is_best'])
df_summary_sklearn['Method'] = ['1-KNN', '5-KNN', '10-KNN']
df_summary_sklearn['Prediction'] = [1, 2, 3] # example data
df_summary_sklearn['is_best'] = np.where((df_summary_sklearn['Prediction']).min(), True, False)

print(df_summary_sklearn)
但我现在得到的是:

   Method  Prediction  is_best
0   1-KNN           1     True
1   5-KNN           2    False
2  10-KNN           3    False

如何正确创建此列?

由于您没有最低限度的工作示例,因此我为
预测
列采用了人为值

   Method  Prediction  is_best
0   1-KNN           1     True
1   5-KNN           2     True
2  10-KNN           3     True
这将提供以下输出

df_summary_sklearn = pd.DataFrame(columns=['Method','Prediction' , 'is_best'])
df_summary_sklearn['Method'] = ['1-KNN', '5-KNN', '10-KNN']
df_summary_sklearn['Prediction'] = [1, 2, 3]

# This returns a boolean array where the condition holds True.
df_summary_sklearn['Prediction'] == df_summary_sklearn['Prediction'].min()

# Set the is_best column to the result of the previous statement.
df_summary_sklearn['is_best'] = df_summary_sklearn['Prediction'] == df_summary_sklearn['Prediction'].min()
您可以用自己的值替换上例中的
[1,2,3]
,比如问题中的
[1,5,10\u fold]

>>> df_summary_sklearn
   Method  Prediction  is_best
0   1-KNN           1     True
1   5-KNN           2    False
2  10-KNN           3    False