Pandas, выбор подмножества кадра данных с использованием серии - PullRequest
1 голос
/ 10 января 2020

У меня есть pandas df.

+----------+------------+-------------+-----+--+
|   City   | First_name | Last_name   | Age |  |
+----------+------------+-------------+-----+--+
| London   | Han        | Solo        |  34 |  |
| Paris    | Luke       | Skywalker   |  30 |  |
| New York | Leia       | Organa      |  30 |  |
| LA       | Lando      | calrissian  |  40 |  |
+----------+------------+-------------+-----+--+

и серия (pandas), выделенная из отдельного меньшего df (df2) с использованием .loc [:, 'Age']

+------------+
|    Age     |
+------------+
|    30      |
|    30      |
+------------+

Я бы хотела выберите все строки в df1, используя информацию в серии. Давая что-то вроде этого,

+----------+------------+-------------+-----+--+
|   City   | First_name | Last_name   | Age |  |
+----------+------------+-------------+-----+--+
| Paris    | Luke       | Skywalker   |  30 |  |
| New York | Leia       | Organa      |  30 |  |
+----------+------------+-------------+-----+--+

Я посмотрел литературу для .lo c и .ilo c, но, похоже, я не такой. Я пытался написать маленький для l oop, но у меня ограниченный опыт (я новичок в программировании). У кого-нибудь есть совет?

Ответы [ 2 ]

1 голос
/ 10 января 2020

Предполагая, что большее значение df равно df1, а меньшее - df2, извлеките значения возраста, которые вы хотите выбрать:

mask = df2['Age'].unique()

Затем просто запросите df1 этим mask:

df1.loc[df1['Age'].isin(mask)]

0 голосов
/ 10 января 2020

Попробуйте сравнить данные непосредственно:

df[df['Age'] == df2['Age']]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...