Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用过去三个月的第一天和最后一天生成数据帧_Python_Pandas - Fatal编程技术网

Python 使用过去三个月的第一天和最后一天生成数据帧

Python 使用过去三个月的第一天和最后一天生成数据帧,python,pandas,Python,Pandas,我想用熊猫生成以下数据帧: print(last_three_months) TimePeriod.Start TimePeriod.End 1 2021-03-01 2021-04-01 2 2021-04-01 2021-05-01 3 2021-05-01 2021-05-31 我可以使用以下代码生成某个月的第一天和最后一天: from datetime import datetime first_day_month = d

我想用熊猫生成以下数据帧:

print(last_three_months)
  TimePeriod.Start TimePeriod.End
1       2021-03-01     2021-04-01
2       2021-04-01     2021-05-01
3       2021-05-01     2021-05-31
我可以使用以下代码生成某个月的第一天和最后一天:

from datetime import datetime
first_day_month = datetime(2021, 3, 1)
last_day_month = firstday_month + pd.offsets.MonthEnd(1)
是否有一种方法可以生成此数据帧,而不必使用冗长的代码(例如)逐个定义每个日期

month_x = int(pd.to_datetime("today").strftime("%m"))
monthx_1 = int(pd.to_datetime("today").strftime("%m"))-1
...
并将每个结果值逐个分配给df块


我猜有一种更简单的方法可以做到这一点。

您可以使用
pd.date\u range
生成数据帧,如下所示:

start = pd.Timestamp(year=2021, month=3, day=1)    
df = pd.DataFrame({"Start": pd.date_range(start, periods=3, freq="MS"), 
                   "End": pd.date_range(start, periods=3, freq="M")})
df
现在是:

    Start       End
0   2021-03-01  2021-03-31
1   2021-04-01  2021-04-30
2   2021-05-01  2021-05-31

您可以使用
pd.date\u range
生成数据框,如下所示:

start = pd.Timestamp(year=2021, month=3, day=1)    
df = pd.DataFrame({"Start": pd.date_range(start, periods=3, freq="MS"), 
                   "End": pd.date_range(start, periods=3, freq="M")})
df
现在是:

    Start       End
0   2021-03-01  2021-03-31
1   2021-04-01  2021-04-30
2   2021-05-01  2021-05-31

嘿它表示句点=3的语法无效。你不明白这个错误吗?抱歉,我已经编辑过了。我太沉迷于格式化了-谢谢。目前,这使得日期之间的时间间隔为2个月,而不是1个月。我正在修补变量以使其工作。重新编辑。希望这就是你需要的:)是的,这正是我需要的。非常感谢。嘿。它表示句点=3的语法无效。你不明白这个错误吗?抱歉,我已经编辑过了。我太沉迷于格式化了-谢谢。目前,这使得日期之间的时间间隔为2个月,而不是1个月。我正在修补变量以使其工作。重新编辑。希望这就是你需要的:)是的,这正是我需要的。非常感谢你。