Итак, то, что я пытаюсь сделать, это заполнить значения NaN кадра данных правильными значениями, которые должны быть найдены во втором кадре данных. Это будет примерно так
df={"Name":["Lennon","Mercury","Jagger"],"Band":["The Beatles", "Queen", NaN]}
df2={"Name":["Jagger"],"Band":["The Rolling Stones"]}
Итак, у меня есть эта команда, чтобы знать, какие строки имеют хотя бы один NaN:
inds = list(pd.isnull(dfinal).any(1).nonzero()[0].astype(int))
Я подумал, что было бы полезно использовать для как функция (там не удалось)
А потом я попробовал это:
result=df.join(dfinal, on=["Name"])
Но это дает мне следующую ошибку:
ValueError: You are пытается объединить столбцы объекта и int64. Если у вас wi sh для продолжения, вы должны использовать pd.concat
Я проверил, и обе серии «Name» являются строковыми значениями. Поэтому я не могу решить эту проблему.
Имейте в виду, что столбцов больше, и вероятным результатом будет то, что если в строке будет один NaN, он будет иметь как 7 NaN.
Есть ли способ решить эту проблему?
Заранее спасибо!