我有一个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/