Я хотел бы сравнить один столбец df с другими df. Столбцы - это имена и фамилии. Я хотел бы проверить, находится ли человек в одном фрейме данных в другом.
Не могли бы вы указать, как вы хотите, чтобы результат выглядел? Является ли это df с именами, фигурирующими в обоих dfs, и нужно ли вам что-то еще, например count или соответствующий столбец в df2 и т. Д. Благодарность!
Я думаю, что вопрос заключается в сравнении значений в двух разных столбцах в разных фреймах данных, так как вопросительный человек хочет проверить, находится ли человек в одном фрейме данных в другом.
Дивьяншу Шекхар
Спасибо, я неправильно понял вопрос. Я обновил ответ сейчас.
Атиракс
1
Вы можете дважды проверить точное количество общих и разных позиций между двумя df, используя isin и value_counts ()
Обратите внимание, что столбцы данных - это ряд данных. Поэтому, если вы возьмете два столбца за ряд панд, вы можете сравнить их так же, как и с массивными массивами.
Ответы:
Если вы хотите проверить равные значения в определенном столбце, скажем, Name, вы можете объединить оба кадра данных в новый:
Я думаю, что это более эффективно и быстрее, чем
where
если у вас большой набор данныхисточник
True
Записи показывают общие элементы. Это также показывает положение общих элементов, в отличие от решения сmerge
.источник
df.
в твоем ответе? Есть толькоdf1
иdf2
нетdf
Сравнение значений в двух разных столбцах
Используя set, получите уникальные значения в каждом столбце. Пересечение этих двух наборов обеспечит уникальные значения в обоих столбцах.
Пример:
df1 = pd.DataFrame({'c1': [1, 4, 7], 'c2': [2, 5, 1], 'c3': [3, 1, 1]}) df2 = pd.DataFrame({'c4': [1, 4, 7], 'c2': [3, 5, 2], 'c3': [3, 7, 5]}) set(df1['c2']).intersection(set(df2['c2']))
Выход:
{2, 5}
Сравнение имен столбцов двух фреймов данных
Если вы пытаетесь сравнить имена столбцов двух информационных фреймов:
Если
df1
иdf2
есть два кадра данных:set(df1.columns).intersection(set(df2.columns))
Это обеспечит уникальные имена столбцов, которые содержатся в обоих кадрах данных.
Пример:
Выход:
{'c2', 'c3'}
источник
Вы можете дважды проверить точное количество общих и разных позиций между двумя df, используя isin и value_counts ()
Как это:
Результат:
True = общий False = другой
источник
Обратите внимание, что столбцы данных - это ряд данных. Поэтому, если вы возьмете два столбца за ряд панд, вы можете сравнить их так же, как и с массивными массивами.
источник