我有一个pandas数据框,我想在其中添加一个新列。新列值将由包含布尔的数据文件中的现有列确定。下面的代码是我在Python中应用的C++逻辑,但是我想用一种更“pythic”的方法来实现。'isfixed'包含bools,新列将'color code'

for i in range(data_2015['isfixed'].count()):
     if data_2015['isfixed'][i] == True:
         data_2015['color code'][i] = 'Blue'
     else:
         data_2015['color code'][i] = 'Green'

提前谢谢你的帮助!

最佳答案

您可以使用numpy.where

import numpy as np
data_2015['color_code'] = np.where(data_2015['isfixed'], 'Blue', 'Green')

演示:
df = pd.DataFrame({'isfixed': [True, False, True]})

df
Out:
  isfixed
0    True
1   False
2    True


df['color_code'] = np.where(df['isfixed'], 'Blue', 'Green')

df
Out:
  isfixed color_code
0    True       Blue
1   False      Green
2    True       Blue

关于python - 根据现有列中的 bool 值将列添加到pandas数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41068309/

10-09 17:13