Возможно, я слишком усложняю эту проблему, но, похоже, не могу найти простое решение.
У меня есть два DataFrame. Давайте назовем их df1 и df2. Чтобы все было просто. Допустим, в df1 есть один столбец с именем «Некоторые данные», а в df2 есть два столбца, которые называются «некоторые данные» и «другие данные».
Пример:
df1
Some Data
"Lebron James 123"
"Lebron James 234"
df2
some data other data
"Lebron James 123 + other text" "I want this in df1["New?"]"
"Michael Jordan" "Doesn't Matter"
Так что в основном я хочу создать новый столбец в df1 с именем «New?». В этом новом столбце (в df1) будет указано «Новое», если df1 [«Некоторые данные»] находится в df2 [«Некоторые другие данные»]. Однако, если в df2 ["некоторые данные"] нет экземпляра, я устанавливаю df1 ["New?"] Значение этой конкретной строки в df2 ["другие данные"].
Желаемый результат после запуска:
df1
Some Data New?
"Lebron James 123" "I want this in df1["New?"]"
"Lebron James 234" "New"
Так как вы можете видеть Новое? столбец будет включать значение этой конкретной строки из другого столбца данных. Леброна Джеймса 234 нет нигде в некоторых данных в df2, поэтому он говорит, что новый.
Я могу заставить его сказать True или False, используя метод .isin()
, но я не знаю, как получить индекс другого df и получить значение из другого столбца данных.
Спасибо
EDIT:
Из того, что я знаю, будет работать
df["New?"] = df1["Some Data"].isin(df2["some data"])
сделает
df1 [ "New?"]
True
False
Итак, я хочу, чтобы True был "Я хочу это в df1 [" New? "]", А False был New