基于现有列中的bool值向pandas dataframe添加列

2024-10-03 04:29:42 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个熊猫数据帧,我想添加一个新的列。新的列值将由dataframe中包含bool的现有列确定。下面的代码是我在Python中应用的C++逻辑,但是我想用一种更“pythic”的方法来实现。'isfixed'包含bool,新列将是'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'

提前感谢您的帮助!在


Tags: 数据方法代码indataframefordatacode
2条回答

对于纯熊猫解决方案:

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

df['color_code'] = ["Blue" if value==True else "Green" for value in df['isfixed']]

您可以使用^{}

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

演示:

^{pr2}$

相关问题 更多 >