Как получить фрейм данных с подмножеством записей на основе критериев записи - PullRequest
0 голосов
/ 20 июня 2020

Я хочу создать новый фрейм данных, который является подмножеством большего фрейма данных для анализа. В частности, я хочу вернуть самую последнюю дату из большего фрейма данных для всех имен в фрейме данных.

Если мой фрейм данных был следующим:

Row Name Date  
1 Apples 2020-05-01 
2 Apples 2020-05-11
3 Apples 2020-05-21
4 Bananas 2020-05-11
5 Bananas 2020-05-21
6 Bananas 2020-05-31

Я хочу вернуть следующее:

3 A 2020-05-21
6 B 2020-05-31

Я предполагаю, что псевдокод будет примерно таким:

df(new) = df(old)[df.Date == {most recent date for each name}]

Любая помощь по этому или другому более длинному коду для подзапроса записей / полей в меньший фрейм данных будет оценена.

Пожалуйста, дайте мне знать, если требуются дополнительные разъяснения. Спасибо за ваше время.

Ответы [ 2 ]

0 голосов
/ 21 июня 2020

Чтобы получить самое последнее значение, вы можете использовать df.groupby().last()

print(df)

   Name        Date
0   Apple  2020-05-01
1   Apple  2020-05-11
2   Apple  2020-05-21
3  Banana  2020-05-11
4  Banana  2020-05-21
5  Banana  2020-05-31

df.groupby("Name").last()

Вывод

              
Name          Date    
Apple   2020-05-21
Banana  2020-05-31
0 голосов
/ 20 июня 2020

Вы можете достичь этого, используя:

# convert the date column to datetime
    df['Date'] = pd.to_datetime(df['Date'])
  
# create a new dataframe with only the columns  
    df1 = df.groupby('Name')['Date'].max().reset_index()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...