gpt4 book ai didi

python - 如何将 MonthYear 字符串转换为日期时间 Pandas?

转载 作者:行者123 更新时间:2023-12-05 09:03:40 24 4
gpt4 key购买 nike

我目前有一个格式为月年的字符串。月份长度为 3 个字符,年份长度为 4。以下是我拥有的一些日期的一些示例。

apr2021
jun2021
mar2020
dec2020

我在 pandas 数据框中有一个日期,格式为 yyyy-mm-dd hh:mm:ss。我想将这个字符串与 pandas 中的日期进行比较,并确定它是否小于或等于它?有没有办法将这个月-年字符串转换为实际的日期格式?

我打算将日期剥离为 yyyy-mm-dd,然后尝试获取相同格式的月-年字符串,然后进行直接比较。不过,我不太确定是否有更有效的方法来做到这一点?

示例伪代码如下:

temp_date = apr2021 -> 01-04-2021
pandas_date = 29-03-2021

if temp_date < pandas_date:
do x
else:
do y

最佳答案

您可以使用 pandas.to_datetime 转换您的日期,无论是在您的数据框中还是在一个独立的字符串中。然后您将能够使用 > 进行比较/<或 Pandas 方法 gt/lt/…:

import pandas as pd
df = pd.DataFrame({'temp_date': ['apr2021', 'jun2021', 'mar2020', 'dec2020']})
df['temp_date'] = pd.to_datetime(df['temp_date'])

pandas_date = pd.to_datetime('29-03-2021') # optional

import numpy as np

df['new_col'] = np.where(df['temp_date'].gt(pandas_date), 'greater', 'lower')

输出:

   temp_date  new_col
0 2021-04-01 greater
1 2021-06-01 greater
2 2020-03-01 lower
3 2020-12-01 lower

注意。在评论之后, datetime 's documentation 中有完整的日期时间格式列表。 ,在你的情况下,这将是 %b%Y : pd.to_datetime('apr2021', format='%b%Y')

关于python - 如何将 MonthYear 字符串转换为日期时间 Pandas?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69726996/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com