繁体   English   中英

如何在 Python/colab 的循环中添加月-年开始的日期?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM