首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Python Pandas Dataframe:每个人最近第二天的值

Python Pandas Dataframe:每个人最近第二天的值
EN

Stack Overflow用户
提问于 2020-02-27 00:26:05
回答 1查看 29关注 0票数 1

我尝试使用Pythons pandas dataframe对一个dataframe进行分组,条件是另一个dataframe:

第一个数据帧给出了每个人的假期:

代码语言:javascript
运行
复制
import pandas as pd
df_holiday = pd.DataFrame({'Person': ['Alfred', 'Bob', 'Charles'], 'Last Holiday': ['2018-02-01', '2018-06-01', '2018-05-01']})
df_holiday.head()
代码语言:javascript
运行
复制
    Last Holiday    Person
0   2018-02-01  Alfred
1   2018-06-01  Bob
2   2018-05-01  Charles

第二个dataframe给出了每个人和每个月的销售额:

代码语言:javascript
运行
复制
df_sales = pd.DataFrame({'Person': ['Alfred', 'Alfred', 'Alfred','Bob','Bob','Bob','Bob','Bob','Bob','Charles','Charles','Charles','Charles','Charles','Charles'],'Date': ['2018-01-01', '2018-02-01', '2018-03-01', '2018-01-01', '2018-02-01', '2018-03-01','2018-04-01', '2018-05-01', '2018-06-01', '2018-01-01', '2018-02-01', '2018-03-01','2018-04-01', '2018-05-01', '2018-06-01'], 'Sales': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15]})
df_sales.head(15)
代码语言:javascript
运行
复制
    Date    Person  Sales
0   2018-01-01  Alfred  1
1   2018-02-01  Alfred  2
2   2018-03-01  Alfred  3
3   2018-01-01  Bob 4
4   2018-02-01  Bob 5
5   2018-03-01  Bob 6
6   2018-04-01  Bob 7
7   2018-05-01  Bob 8
8   2018-06-01  Bob 9
9   2018-01-01  Charles 10
10  2018-02-01  Charles 11
11  2018-03-01  Charles 12
12  2018-04-01  Charles 13
13  2018-05-01  Charles 14
14  2018-06-01  Charles 15

现在,我想要每个人在最后一个假期之前的销售数字,即结果应该是:

代码语言:javascript
运行
复制
    Date    Person  Sales
0   2018-01-01  Alfred  1
7   2018-05-01  Bob 8
12  2018-04-01  Charles 13

有什么帮助吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-02-27 00:37:08

我们可以先做merge,然后做filterdrop_duplicates

代码语言:javascript
运行
复制
df=df_holiday.merge(df_sales).loc[lambda x : x['Last Holiday']>x['Date']].drop_duplicates('Person',keep='last')
Out[163]: 
     Person Last Holiday        Date  Sales
0    Alfred   2018-02-01  2018-01-01      1
7       Bob   2018-06-01  2018-05-01      8
12  Charles   2018-05-01  2018-04-01     13
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60418350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档