我想用另一列的值填充数据框 我使用条件来填写值。 当把它删掉时,我得到一个错误
conditions = [
(df1['Essentieel_Optioneel'] <= 'essentieel'),
(df1['Essentieel_Optioneel'] <= 'optioneel')
]
values = df1[['perc_essentieel_skill','perc_essentieel_skill']]
df1['vector'] = np.select(conditions, values)
df1
811 'list of cases must be same length as list of conditions')
813 # Now that the dtype is known, handle the deprecated select([], []) case
814 if len(condlist) == 0:
ValueError: list of cases must be same length as list of conditions
我感觉我的数据框太长了,我有一个框架 19913 * 12 列。
我感觉我必须使用for循环。
为了清楚起见,您应该提供一个完整的示例,但假设您想使用两列作为替换,则需要转置
values
并转换为 numpy 数组:
values = df1[['perc_essentieel_skill1', 'perc_essentieel_skill2']].T.values
df1['vector'] = np.select(conditions, values)
示例:
Essentieel_Optioneel perc_essentieel_skill1 perc_essentieel_skill2 vector
0 essentieel A B A
1 essentieel A B A
2 optioneel A B B