我需要在pandas数据框中搜索一个值,如果找不到,请将其添加到数据框中。
很简单,但我坚持下去(python中的新手)....
数据框只有一个名为“Value”的列。
#sort a random position
randomico = randint(1,tamanhoRestrito)
#if the random value does not exist in the solution I add it into solution dataframe
if (solucao.iloc[0] == listaOrdenada.iloc[randomico]):
solucao.loc[solucao.index.max() + 1] = [listaOrdenada.iloc[randomico]]
我得到的错误是:
ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
答案 0 :(得分:0)
我认为您可以通过在条件中添加not
和.any()
来解决错误:
if not (solucao.iloc[0] == listaOrdenada.iloc[randomico]).any():
没有看到你的数据有点难以确切知道,但这种替代方案也可以起作用,并且在代码方面更有意义。
我认为listaOrdenada.iloc[randomico]
是单个值。
if listaOrdenada.iloc[randomico] not in solucao['value'].values:
solucao.loc[solucao.index.max() + 1, 'value'] = listaOrdenada.iloc[randomico]