【发布时间】:2022-10-14 17:03:41
【问题描述】:
我有一个问题,我想根据其他列的值创建一个新列,然后取另一列的值。
东风:
Type Set Count
1 A Z 5
2 B Z 9
3 B X 8
4 C Y 2
我找到了一个类似的解决方案,其中在代码中分配了新的列值(颜色)
df = pd.DataFrame({'Type':list('ABBC'), 'Set':list('ZZXY')})
conditions = [
(df['Set'] == 'Z') & (df['Type'] == 'A'),
(df['Set'] == 'Z') & (df['Type'] == 'B'),
(df['Type'] == 'B')]
choices = ['yellow', 'blue', 'purple']
df['color'] = np.select(conditions, choices, default='black')
print(df)
但是,我希望新列不是颜色列,而是根据这些规则 A&Z=Count 值,B&Z=Count 值,其他所有值 =0;结果如下所示:
Type Set Count New
1 A Z 5 5
2 B Z 9 9
3 B X 8 0
4 C Y 2 0
有人可以帮助代码用另一列的值替换颜色部分吗?
谢谢你。
【问题讨论】: