У меня есть 2 Pandas dfs, A и B. Оба имеют 10 столбцов и индекс 'ID'. Если совпадают идентификаторы A и B, я хочу заменить строки B строками A. Я пытался использовать pd.update, но пока не удалось. Любая помощь оценивается.Замените строки в pandas df строками из другого df
2
A
ответ
0
ниже кода следует сделать трюк
s1 = pd.Series([5, 1, 'a'])
s2 = pd.Series([6, 2, 'b'])
s3 = pd.Series([7, 3, 'd'])
s4 = pd.Series([8, 4, 'e'])
s5 = pd.Series([9, 5, 'f'])
df1 = pd.DataFrame([list(s1), list(s2),list(s3),list(s4),list(s5)], columns = ["A", "B", "C"])
s1 = pd.Series([5, 6, 'p'])
s2 = pd.Series([6, 7, 'q'])
s3 = pd.Series([7, 8, 'r'])
s4 = pd.Series([8, 9, 's'])
s5 = pd.Series([9, 10, 't'])
df2 = pd.DataFrame([list(s1), list(s2),list(s3),list(s4),list(s5)], columns = ["A", "B", "C"])
df1.loc[df1.A.isin(df2.A), ['B', 'C']] = df2[['B', 'C']]
print df1
выход
A B C
0 5 6 p
1 6 7 q
2 7 8 r
3 8 9 s
4 9 10 t
+0
Старый вопрос, но что, если я хочу заменить целую строку вместо некоторых столбцов? –
+0
@ Rafael Almeida Я предполагаю, что у вас одинаковые установленные столбцы в обоих кадрах данных; Попробуй это; cols = list (df1.columns) df1.loc [df1.A.isin (df2.A), cols] = df2 [cols] – Shijo
Смежные вопросы
- 1. Pandas перемещает строки из 1 DF в другую DF
- 2. Замените na на значение из другого df
- 3. Условно заполните столбец pandas df со значениями другого df
- 4. Итерация через список Pandas DF для повторения каждой строки DF
- 5. сделать df из df списков в pandas python
- 6. Pandas df row count
- 7. Python Pandas: df = pd.read_csv
- 8. Как объединить один уровень df в многоуровневый df в Pandas?
- 9. итерация выбора по df pandas
- 10. выделить строки из одного df в другой df
- 11. Выберите столбцы в pandas DF
- 12. python pandas wildcard? Замените все значения в df на константу
- 13. pandas df in inested json
- 14. Потоковые данные для pandas df
- 15. Python Pandas df не определен
- 16. Pandas, позиция iloc in df
- 17. Дублирование Pandas DF N раз
- 18. Pandas - идентифицировать уникальные триплеты из df
- 19. Создание новых pandas df из старого
- 20. PANDAS отбросить ряд строк из df
- 21. Обновление panda df с помощью второго df
- 22. Как преобразовать строки имени df обратно в df?
- 23. Pandas: Добавить столбец в df с условием
- 24. pandas df locate сохранить только первый элемент
- 25. Pandas DF, условный выбор в неравных столбцах
- 26. pandas.Dataframe: заполнение недостающих значений из другого DF
- 27. Передача элементов, возвращаемых API в Pandas DF
- 28. Группа pandas df в соответствии с набором
- 29. Выравнивание порядка мультииндекса данных с порядком другого мультииндекса df, pandas
- 30. LabelEncoder порядок подгонки для Pandas df
попробовать 'A.combine_first (B)' должны work.See [как сделать воспроизводимый пример] (HTTP: // stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example). – shivsn
Если вы обновите строки B с строками A, то придет тот же результат? не ясно, можете ли вы представить пример ожидаемого вывода –
Марлон: Нет, A и B содержат некоторые совпадающие идентификаторы, но содержимое других столбцов отличается. –