python - 熊猫日期时间到整数索引
问题描述
假设我有以下数据框:
d = {'store': [a, a, a, b, b], 'date': [2020-1-30, 2020-1-30, 2020-2-28,
2020-1-30, 2020-3-30], 'amount': [1, 2, 3, 5, 2]}
df = pd.DataFrame(data=d)
df
store date amount
0 a 2020-1-30 1
1 a 2020-1-30 2
2 a 2020-2-28 3
3 b 2020-1-30 5
4 b 2020-3-30 2
我想有一列是一个递增整数,它指定日期对应于特定商店的时间段,以及一个标志列,说明日期是否是最高日期,输出将如下:
store date amount period is_max_period
0 a 2020-1-30 1 1 0
1 a 2020-1-30 2 1 0
2 a 2020-2-28 3 2 1
3 b 2020-1-30 5 1 0
4 b 2020-3-30 2 2 1
将是解决这个问题的赌注方式吗?
解决方案
尝试transform
使用factorize
和max
g = df.groupby(['store'])['date']
df['period'] = g.transform(lambda x : x.factorize()[0]+1)
df['is_max_period'] = df.date.eq(g.transform('max')).astype(int)
df
store date amount period is_max_period
0 a 2020-1-30 1 1 0
1 a 2020-1-30 2 1 0
2 a 2020-2-28 3 2 1
3 b 2020-1-30 5 1 0
4 b 2020-3-30 2 2 1
推荐阅读
- github - 如何为 AsciiDoc 或 reStructuredText 中的定义(标记)列表生成锚 ID?
- python-3.x - 我在 Windows 10 中运行 Tensorflow-gpu 时遇到问题
- python - 有谁知道我如何在 pygame 上的某个坐标处制作我的图像?
- flutter - Flutter Provider 的方法不能从类中调用
- java - 字符串资源不会在 API 21 的运行时翻译 - Android Studio
- c# - 一次性循环的必要性
- python - 在不知道列数的情况下组合数据框
- javascript - 无法将类添加到 img 标签
- git - 如何将 Gerrit 变更移动到不同的分支?
- php - 查找丢失的数组:PHP