Quero preencher um dataframe com valores de outra coluna. Uso uma condição para preencher os valores. A condição que quero preencher é quando o valor na coluna 'Essentieel_Optioneel' == 'essentieel', preciso preencher o valor com perc_essentieel_skill. Isso é o mesmo para quando o valor 'optioneel'.
Quando parei isso de volta, recebo um erro
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
Tenho a sensação de que meu dataframe é muito longo, tenho um frame de 19913 * 12 colunas.
Tenho a sensação de que preciso usar um loop for.
Você deve fornecer um exemplo completo para maior clareza, mas supondo que você queira usar as duas colunas como substituição, você precisaria transpor
values
e converter para uma matriz numpy:Ou atribua manualmente as colunas para cada condição:
Exemplo:
Se você tiver categorias discretas em "Essentieel_Optioneel", você também pode refatorar o código para usar a pesquisa de indexação :