要按客户ID分组并选择日期列中最近的值,可以按照以下步骤进行操作:
import pandas as pd
data = {'客户ID': [1, 1, 2, 2, 3, 3],
'日期': ['2020-01-01', '2020-02-01', '2020-01-01', '2020-02-01', '2020-01-01', '2020-02-01'],
'值': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df_grouped = df.groupby('客户ID').apply(lambda x: x.loc[x['日期'].idxmax()])
这将返回一个新的DataFrame,其中包含每个客户ID的最近日期的行。
完整示例代码如下:
import pandas as pd
data = {'客户ID': [1, 1, 2, 2, 3, 3],
'日期': ['2020-01-01', '2020-02-01', '2020-01-01', '2020-02-01', '2020-01-01', '2020-02-01'],
'值': [10, 20, 30, 40, 50, 60]}
df = pd.DataFrame(data)
df['日期'] = pd.to_datetime(df['日期'])
df_grouped = df.groupby('客户ID').apply(lambda x: x.loc[x['日期'].idxmax()])
print(df_grouped)
输出结果:
客户ID 日期 值
0 1 2020-02-01 20
2 2 2020-02-01 40
4 3 2020-02-01 60
上一篇:按客户ID分组