当前位置: 首页 > 面试题库 >

熊猫-将字符串转换为没有日期的时间

王翰墨
2023-03-14
问题内容

我已经阅读了很多SO答案,但是找不到明确的解决方案。

我在称为day1小时的df中有此数据:

1    10:53
2    12:17
3    14:46
4    16:36
5    18:39
6    20:31
7    22:28
Name: time, dtype: object>

我想将其转换为时间格式。但是当我这样做时:

day1.time = pd.to_datetime(day1.time, format='H%:M%')

结果包括今天的日期:

1   2015-09-03 10:53:00
2   2015-09-03 12:17:00
3   2015-09-03 14:46:00
4   2015-09-03 16:36:00
5   2015-09-03 18:39:00
6   2015-09-03 20:31:00
7   2015-09-03 22:28:00
Name: time, dtype: datetime64[ns]>

看来format参数不起作用-如何获得没有显示日期的时间?

更新资料

以下内容可以正确设置时间格式,但是以某种方式,该列仍然是对象类型。为什么不转换为datetime64

day1['time'] = pd.to_datetime(day1['time'], format='%H:%M').dt.time

1    10:53:00
2    12:17:00
3    14:46:00
4    16:36:00
5    18:39:00
6    20:31:00
7    22:28:00
Name: time, dtype: object>

问题答案:

执行转换后,您可以使用datetimedt访问器仅访问hourtime组件:

In [51]:

df['hour'] = pd.to_datetime(df['time'], format='%H:%M').dt.hour
df
Out[51]:
        time  hour
index             
1      10:53    10
2      12:17    12
3      14:46    14
4      16:36    16
5      18:39    18
6      20:31    20
7      22:28    22

另外,您的格式字符串H%:M%格式不正确,可能会引起ValueError: ':' is a bad directive in format 'H%:M%'

关于您的最后评论,dtypedatetime.time不是datetime

In [53]:
df['time'].iloc[0]

Out[53]:
datetime.time(10, 53)


 类似资料:
  • 问题内容: 我有一个带有ID号的大型数据框: 这些现在都是字符串。 我想转换为不使用循环-为此我使用。 问题是我的某些行包含无法转换为的脏数据,例如 如何(不使用循环)删除这些类型的事件,以便我可以放心使用? 问题答案: 您需要向功能添加参数: 如果是列: 但非数字会转换为,因此所有值都是。 对于需要转换到一些值,例如,然后转换为: 样品: 编辑:如果使用0.25+大熊猫,则可以使用:

  • 我试图使用pandas.to_datetime()将只包含小时、分钟和秒的日期列转换为日期时间形式。但是,它会自动添加年份和日期。我还尝试使用pandas.to_datetime(df["time"],format = % H:% M:% S ")dt . time,数据类型仍然是object。有没有什么方法可以变成不带年份和日期的datetime格式?

  • 问题内容: 我正在获取xml和rss提要,并将数据放入数据库中。到目前为止,我遇到了两种不同的日期格式… 和 我相信还会有更多。我的日期的postgresql数据库是没有时区的时间戳。php中是否存在现有函数,或者是否存在将任何日期字符串转换为不带时区的时间戳的程序(Ymd H:i:s)? 问题答案: 搭配使用: 结果: 。 结果:

  • 问题内容: 我在mysql中使用NOW()获取当前日期和时间。我想将日期值转换为varchar并将其与另一个字符串连接。我该怎么做? 问题答案: 使用DATE_FORMAT()

  • 问题内容: 例如字符串: 我将把它们推回到数据库中正确的日期时间字段中,因此我需要将它们魔术化为实际的日期时间对象。 这是通过Django的ORM进行的,因此我无法使用SQL进行插入时的转换。 问题答案: 是将字符串解析为日期时间的主要例程。它可以处理各种格式,格式由你为其指定的格式字符串确定: 生成的对象是时区未使用的。 链接: 适用于strptime:Python 2和Python 3的 Py

  • 问题内容: 将日期转换为JSON时,javascript会以以下格式保存日期: 但是,我不确定如何将其放入python datetime对象。我已经尝试过这些: 我相信javascript会将字符串保存为官方ISO格式,因此似乎应该有一种方法可以让python 读取它? 问题答案: 请尝试以下格式: 例如: 该的日期只是手段,它应该被解释为UTC时间,所以忽略它不会造成任何信息丢失。您可以在这里找