python - 根据上一行python数据框中存在的年份格式化月份
问题描述
对于以下内容,有没有办法根据索引 0 中的值和 12 月之后的月份为“JAN-2018”,将到 12 月的月份格式化为“DEC-2017”?我正在使用 Python 2.7。
import pandas as pd
df = pd.DataFrame([['2017-18','','','','','','','','','','',''], ['APR', 'MAY', 'JUN', 'JULY', 'AUG', 'SEP', 'OCT', 'NOV', 'DEC', 'JAN', 'FEB', 'MAR']])
输出应如下所示:
df1 = pd.DataFrame([['2017-18','','','','','','','','','','',''], ['APR-2017', 'MAY-2017', 'JUN-2017', 'JULY-2017', 'AUG-2017', 'SEP-2017', 'OCT-2017', 'NOV-2017', 'DEC-2017', 'JAN-2018', 'FEB-2018', 'MAR-2018']])
抱歉,我是新手,所以不知道如何在此处粘贴数据框并因此使用代码。
解决方案
cumsum
+iloc
df.iloc[1] += '-' + (df.iloc[1].eq('JAN').cumsum() + 2017).astype(str)
df
0 1 2 3 4 5 6 \
0 2017-18
1 APR-2017 MAY-2017 JUN-2017 JULY-2017 AUG-2017 SEP-2017 OCT-2017
7 8 9 10 11
0
1 NOV-2017 DEC-2017 JAN-2018 FEB-2018 MAR-2018
推荐阅读
- python-3.x - Rodeo 在 Spyder 中工作时出现 Excel 导入错误
- javascript - 为什么这个 RegExp 会导致浏览器崩溃?
- php - 用于开发服务器的自签名 SSL 破坏了一切 Wordpress - Apache
- node.js - 使用 mongoose 和 node.js 获取 mLab 数据库中的文档总数
- http - 我的字符串有特殊字符,http/template 的输出添加了“(MISSING)”
- ios - 在 SpriteKit 场景编辑器中为 SKLabelNode 设置自定义类?
- facebook - 如何使用 Graph API 从我的网络服务器访问我的企业的 Facebook 页面提要?
- vba - Excel VBA,复制彩色行
- arrays - NASM 程序集添加数组元素
- python - Discord Py 无法弄清楚如何添加角色