我有一个pandas数据框,其中有一列应该表示一个财政季度的结束。格式为“Q1-2009”类型。是否有一种快速的方法将这些字符串转换为时间戳“2009-03-31”?
我发现只有格式“YYYY-QQ”的转换,但没有相反的转换。
一种解决方案是使用列表理解,然后是pd。补偿。蒙森德
:
# data from @jezrael
df = pd.DataFrame({'per':['Q1-2009','Q3-2007']})
def get_values(x):
''' Returns string with quarter number multiplied by 3 '''
return f'{int(x[0][1:])*3}-{x[1]}'
values = [get_values(x.split('-')) for x in df['per']]
df['LastDay'] = pd.to_datetime(values, format='%m-%Y') + pd.offsets.MonthEnd(1)
print(df)
per LastDay
0 Q1-2009 2009-03-31
1 Q3-2007 2007-09-30
创建季度周期与交换季度和年份部分由替换
并转换为日期时间与周期ndex.to_timestamp
:
df = pd.DataFrame({'per':['Q1-2009','Q3-2007']})
df['date'] = (pd.PeriodIndex(df['per'].str.replace(r'(Q\d)-(\d+)', r'\2-\1'), freq='Q')
.to_timestamp(how='e'))
print (df)
per date
0 Q1-2009 2009-03-31
1 Q3-2007 2007-09-30
另一个解决方案是使用字符串索引:
df['date'] = (pd.PeriodIndex(df['per'].str[-4:] + df['per'].str[:2], freq='Q')
.to_timestamp(how='e'))
我有一个熊猫列,其中包含时间数据和列数据类型是对象。 如何将列转换为Datatime
问题内容: 2012年12月1日星期六00:00:00 GMT 我必须将以上日期转换为以下格式 2012-12-01 我怎样才能? 我已经尝试使用以下方法,但无法正常工作 问题答案: 用这个。 您将获得输出为
我有一个pandas数据框,其中一列包含如下字符串 我想把它转换成以下格式。 我试着用熊猫。到_datetime(df['date time']),但我得到了错误未知字符串值。我还尝试将字符串拆分为两列,只转换日期部分,但遇到了类似的错误
我尝试的方法:
我需要使用php将日期时间插入到oracle表中。 我的日期字符串是这种格式: 当我在php中使用这种格式时, $date1=to_date('2013-10-22 08:02:30','YYYY-MM-DD HH24: MI: SS') 我看到oracle表中的数据是PM格式的。这怎么可能?我如何更改to\u日期,以便任何时间12都是上午,任何时间12点及以上都是下午?
我怎么能把下面的日期时间格式转换为 yyyy-MM-dd HH:mm:ss? 我已经试过了,但不起作用,时间不对。 当你打印时,它带来了错误的时间: