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

从熊猫中的日期和时间变量中删除时间?

宋劲
2023-03-14
问题内容

我有一个包含300k条带有日期的记录的变量,并且该日期看起来像是该日期的
2015-02-21 12:08:51
我想删除时间

日期变量的类型是pandas.core.series.series

这是我尝试的方式

from datetime import datetime,date
date_str = textdata['vfreceiveddate']  
format_string = "%Y-%m-%d"
then = datetime.strftime(date_str,format_string)

一些随机错误

在上面的代码中,textdata是我的数据集名称,而vfreceived date是一个由日期组成的变量。
如何编写代码以从datetime中删除时间。


问题答案:

假设所有日期时间字符串都采用类似的格式,则只需使用将它们转换为日期时间to_datetime,然后调用dt.date属性即可获取日期部分:

In [37]:

df = pd.DataFrame({'date':['2015-02-21 12:08:51']})
df
Out[37]:
                  date
0  2015-02-21 12:08:51
In [39]:

df['date'] = pd.to_datetime(df['date']).dt.date
df
Out[39]:
         date
0  2015-02-21

编辑

如果只想更改显示而不是dtype,则可以调用dt.normalize

In[10]:
df['date'] = pd.to_datetime(df['date']).dt.normalize()
df

Out[10]: 
        date
0 2015-02-21

您可以看到dtype仍为datetime

In[11]:
df.dtypes

Out[11]: 
date    datetime64[ns]
dtype: object


 类似资料:
  • 问题内容: 我有一个datetime列,如下所示- 现在,我想从此列的每一行中减去一年。我怎样才能达到相同的目标?我可以使用哪个库? 预期字段- 谢谢。 问题答案: 您可以用来实现以下目的:

  • 问题内容: 假设我有一个时间戳值的DataFrame : 我想创建一个新列。我可以通过编写一个简短的函数并使用它来迭代地创建它来创建它: 然后,我将看到以下结果: 什么我 想 实现的是这样一些较短的转变(我知道是错误的,但在精神得到): 显然,该列是类型的,因此没有这些属性,但是似乎有一种使用矩阵运算的简单方法。 有更直接的方法吗? 问题答案: 假设时间戳是数据帧的索引,则可以执行以下操作: 如果

  • 问题内容: 我有一个日期字符串,想要将其转换为日期类型: 我尝试将datetime.datetime.strptime与所需的格式一起使用,但它会返回转换时间。 这是输出返回的内容: 我需要删除时间:00:00:00。 问题答案: 您想要的是datetime.date对象。您拥有的是一个datetime.datetime对象。您可以按照以上说明进行打印时更改对象,或者在创建对象时执行以下操作:

  • 问题内容: 上面的代码将20分钟添加到StartTimeDate。有什么好方法可以删除那些20分钟未添加的内容?试图找到一种解决方案,但没有找到解决方案。有任何想法吗? 问题答案: 您没有任何特定的功能来减去任何日期部分 只需在前面添加负号 或乘以-1

  • 问题内容: 考虑到python中的pandas数据帧具有名为integer类型的列,我可以使用以下指令将其转换为格式。 因此,该列现在具有以下条目:。 将字符串恢复为整数时间戳值(代表从过去的秒数)的命令是什么? 我检查了但找不到转换实用程序,因此无法使用它。 此转换有实用程序吗? 问题答案: 您可以使用类型转换为int并将其除以以获取unix纪元开始的秒数。

  • 问题内容: 场景: 我有一个从Excel工作表中检索到具有多个列的数据框。其中一些列是日期:一些仅包含日期(yyyy:mm:dd),一些具有日期和时间戳(yyyy:mm:dd 00.00.000000)。 问题: 当日期不是数据框的索引时,如何从日期中删除时间戳? 我已经尝试了什么: 在SO的其他文章中使用pandas中的日期- 在datetime中删除看不见的字符并转换为字符串以及如何剥离pan