[英]How to Add a date at the beginning of month-year in a loop in Python/ colab?
我需要您对表格创建的建议。
我有一张看起来像这样的桌子。
月 | 部门 | 总共花费 |
---|---|---|
1月18日 | 美国司法部 | 625000 |
1月18日 | 美国司法部 | 975000 |
1月18日 | 美国司法部 | 650000 |
1月18日 | 美国司法部 | 625000 |
1月18日 | 美国司法部 | 975000 |
1月18日 | 美国司法部 | 650000 |
1月18日 | 美国司法部 | 625000 |
1月18日 | 美国司法部 | 975000 |
1月18日 | 美国司法部 | 650000 |
1月18日 | 美国司法部 | 625000 |
1月18日 | 美国司法部 | 975000 |
1月18日 | 美国司法部 | 650000 |
2月18日 | 美国司法部 | 625000 |
2月18日 | 美国司法部 | 975000 |
2月18日 | 美国司法部 | 650000 |
2月18日 | 美国司法部 | 625000 |
2月18日 | 美国司法部 | 975000 |
2月18日 | 美国司法部 | 650000 |
2月18日 | 美国司法部 | 625000 |
2月18日 | 美国司法部 | 975000 |
2月18日 | 美国司法部 | 650000 |
对于司法部和其他 12 个部门,这种情况一直持续到 5 月 22 日。
我不能 pivot 这张表,因为在缺少日期的第一列中有重复项 Tableau 会将数字相加,而 Python 将引发错误,例如
ValueError: Index contains duplicate entries, cannot reshape
每个月只有 12 个条目(一个月 12 天)。 我想在每个月列的开头添加数字 1 到 12,这样条目就有一个唯一的 ID,我可以将其用于df1.pivot(index='Month',columns='Department', values='Total Expenditure Estimate')
新表应该看起来像
月 | 部门 | 总共花费 |
---|---|---|
2018 年 1 月 1 日 | 美国司法部 | 625000 |
18 年 1 月 2 日 | 美国司法部 | 975000 |
2018 年 1 月 3 日 | 美国司法部 | 650000 |
2018 年 1 月 4 日 | 美国司法部 | 625000 |
2018 年 1 月 5 日 | 美国司法部 | 975000 |
2018 年 1 月 6 日 | 美国司法部 | 650000 |
2018 年 1 月 7 日 | 美国司法部 | 625000 |
2018 年 1 月 8 日 | 美国司法部 | 975000 |
2018 年 1 月 9 日 | 美国司法部 | 650000 |
2018 年 1 月 10 日 | 美国司法部 | 625000 |
2018 年 1 月 11 日 | 美国司法部 | 975000 |
2018 年 1 月 12 日 | 美国司法部 | 650000 |
1-2-18 | 美国司法部 | 625000 |
2-Feb-18 | 美国司法部 | 975000 |
2018 年 2 月 3 日 | 美国司法部 | 650000 |
2018 年 2 月 4 日 | 美国司法部 | 625000 |
2018 年 2 月 5 日 | 美国司法部 | 975000 |
2018 年 2 月 6 日 | 美国司法部 | 650000 |
2018 年 2 月 7 日 | 美国司法部 | 625000 |
2018 年 2 月 8 日 | 美国司法部 | 975000 |
2018 年 2 月 9 日 | 美国司法部 | 650000 |
2018 年 2 月 10 日 | 美国司法部 | 650000 |
2018 年 2 月 11 日 | 美国司法部 | 650000 |
2018 年 2 月 12 日 | 美国司法部 | 650000 |
我将感谢您的建议。 请帮助我并建议如何修复此列。 先感谢您。
尝试:
df["Month"] = (
(df.groupby(["Month", "Department"])["Month"].cumcount() + 1).astype(str)
+ "-"
+ df["Month"]
)
印刷:
Month Department Total Expenditure
0 1-Jan-18 DOJ 625000
1 2-Jan-18 DOJ 975000
2 3-Jan-18 DOJ 650000
3 4-Jan-18 DOJ 625000
4 5-Jan-18 DOJ 975000
5 6-Jan-18 DOJ 650000
6 7-Jan-18 DOJ 625000
7 8-Jan-18 DOJ 975000
8 9-Jan-18 DOJ 650000
9 10-Jan-18 DOJ 625000
10 11-Jan-18 DOJ 975000
11 12-Jan-18 DOJ 650000
12 1-Feb-18 DOJ 625000
13 2-Feb-18 DOJ 975000
14 3-Feb-18 DOJ 650000
15 4-Feb-18 DOJ 625000
16 5-Feb-18 DOJ 975000
17 6-Feb-18 DOJ 650000
18 7-Feb-18 DOJ 625000
19 8-Feb-18 DOJ 975000
20 9-Feb-18 DOJ 650000
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.