找到月底的Pandas DataFrame系列 - python

我在DataFrame中有一个序列,最初是作为对象读取的,然后需要将其转换为yyyy-mm-dd形式的日期,其中dd是月末。

举例来说,我将DataFrame df的Date列作为对象:

...      Date    ...
...     200104   ...
...     200508   ...

全部说完之后,我想要的是一个日期对象:

...      Date    ...
...  2001-04-30  ...
...  2005-08-31  ...

这样df ['Date']。item()返回

datetime.date(2001, 04, 30)

我已经使用以下代码几乎到达了那里,但是我所有的日期都是在月初,而不是月底。请指教。

df['Date'] = pd.to_datetime(df['Date'], format="%Y%m").dt.date

注意:我已经导入了Pandas ad pd,日期时间为dt

参考方案

您可以使用pandas.tseries.offsets.MonthEnd:

from pandas.tseries.offsets import MonthEnd

df['Date'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)

1中的MonthEnd仅指定将一个步骤向前移动到下一个月底日期。 (在您的情况下,也可以使用0或将其保留为空白)。如果需要下个月的最后一天,则可以使用MonthEnd(2)等。它应该可以在任何月份使用,因此您无需知道月份中的天数或类似的数字。可以在documentation中找到更多偏移信息。

用法示例和输出:

df = pd.DataFrame({'Date': [200104, 200508, 201002, 201602, 199912, 200611]})
df['EndOfMonth'] = pd.to_datetime(df['Date'], format="%Y%m") + MonthEnd(1)

     Date EndOfMonth
0  200104 2001-04-30
1  200508 2005-08-31
2  201002 2010-02-28
3  201602 2016-02-29
4  199912 1999-12-31
5  200611 2006-11-30

在返回'Response'(Python)中传递多个参数 - python

我在Angular工作,正在使用Http请求和响应。是否可以在“响应”中发送多个参数。角度文件:this.http.get("api/agent/applicationaware").subscribe((data:any)... python文件:def get(request): ... return Response(seriali…

Python exchangelib在子文件夹中读取邮件 - python

我想从Outlook邮箱的子文件夹中读取邮件。Inbox ├──myfolder 我可以使用account.inbox.all()阅读收件箱,但我想阅读myfolder中的邮件我尝试了此页面folder部分中的内容,但无法正确完成https://pypi.python.org/pypi/exchangelib/ 参考方案 您需要首先掌握Folder的myfo…

R'relaimpo'软件包的Python端口 - python

我需要计算Lindeman-Merenda-Gold(LMG)分数,以进行回归分析。我发现R语言的relaimpo包下有该文件。不幸的是,我对R没有任何经验。我检查了互联网,但找不到。这个程序包有python端口吗?如果不存在,是否可以通过python使用该包? python参考方案 最近,我遇到了pingouin库。

Python GPU资源利用 - python

我有一个Python脚本在某些深度学习模型上运行推理。有什么办法可以找出GPU资源的利用率水平?例如,使用着色器,float16乘法器等。我似乎在网上找不到太多有关这些GPU资源的文档。谢谢! 参考方案 您可以尝试在像Renderdoc这样的GPU分析器中运行pyxthon应用程序。它将分析您的跑步情况。您将能够获得有关已使用资源,已用缓冲区,不同渲染状态上…

索引Pandas数据框时出现KeyError - python

我正在尝试将csv文件中的数据读取到pandas数据框中,并访问第一列“日期”import pandas as pd df_ticks=pd.read_csv('values.csv', delimiter=',') print(df_ticks.columns) df_ticks['Date'] …