数据帧搜索和追加

时间:2017-12-13 00:05:13

标签: python pandas

我需要在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().

1 个答案:

答案 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]