如何为DataFrame的week列设置倒序编号?
Pandas实现Week列数值反转映射
原始数据
假设你有如下结构的DataFrame:
import pandas as pd df = pd.DataFrame({ 'timeframe': ['2023-06-14', '2023-06-21', '2023-06-28', '2023-07-05', '2023-06-12', '2023-06-19', '2023-06-26'], 'week': [24, 25, 26, 27, 28, 29, 30] })
需求说明
需要将week列的数值反转映射:值为30的项设为0,29设为1,28设为2……以此类推,得到目标结果。
解决方法
核心思路是用week列的最大值减去每个元素的原值,即可得到反转后的数值:
# 获取week列的最大值 max_week = df['week'].max() # 替换week列的值 df['week'] = max_week - df['week']
验证结果
执行上述代码后,输出的DataFrame即为目标结果:
timeframe week 0 2023-06-14 6 1 2023-06-21 5 2 2023-06-28 4 3 2023-07-05 3 4 2023-06-12 2 5 2023-06-19 1 6 2023-06-26 0
内容的提问来源于stack exchange,提问作者vinchester
相关产品推荐
相关产品推荐

