首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

将datetime转换为date python -->错误:不可散列的类型:'numpy.ndarray‘

在Python中,将datetime对象转换为date对象通常是一个简单的操作,但如果你遇到错误“不可散列的类型:'numpy.ndarray'”,这通常意味着你在处理的是一个NumPy数组,而不是单个datetime对象。

以下是一些常见的场景和解决方法:

场景1:单个datetime对象

如果你只是处理单个datetime对象,可以直接使用datetime.date()方法:

代码语言:javascript
复制
from datetime import datetime

# 示例 datetime 对象
dt = datetime.now()

# 转换为 date 对象
date_obj = dt.date()
print(date_obj)

场景2:Pandas DataFrame中的datetime

如果你在处理一个Pandas DataFrame,并且需要将datetime列转换为date列,可以使用pandasdt.date属性:

代码语言:javascript
复制
import pandas as pd

# 示例 DataFrame
data = {'datetime_col': [pd.Timestamp('2023-01-01 12:00:00'), pd.Timestamp('2023-01-02 13:00:00')]}
df = pd.DataFrame(data)

# 转换为 date 列
df['date_col'] = df['datetime_col'].dt.date
print(df)

场景3:NumPy数组中的datetime对象

如果你在处理一个包含datetime对象的NumPy数组,可以使用numpy.vectorize来应用datetime.date()方法:

代码语言:javascript
复制
import numpy as np
from datetime import datetime

# 示例 NumPy 数组
dt_array = np.array([datetime(2023, 1, 1, 12, 0, 0), datetime(2023, 1, 2, 13, 0, 0)])

# 使用 numpy.vectorize 转换为 date 数组
date_array = np.vectorize(lambda x: x.date())(dt_array)
print(date_array)

场景4:列表中的datetime对象

如果你在处理一个包含datetime对象的列表,可以使用列表推导式来转换:

代码语言:javascript
复制
from datetime import datetime

# 示例列表
dt_list = [datetime(2023, 1, 1, 12, 0, 0), datetime(2023, 1, 2, 13, 0, 0)]

# 转换为 date 列表
date_list = [dt.date() for dt in dt_list]
print(date_list)
页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

整理总结 python 中时间日期类数据处理与类型转换(含 pandas)

,有什么用途 为什么要把时间日期之类数据转换为 pandas 自带 datetime64 类型呢?...如何转换为 pandas 自带 datetime 类型 在上方示例中,肉眼可见 a_col、b_col 这两都是日期,但 a_col 值其实是string 字符串类型,b_col值是datatime.date...想要用pandas 按时间属性分组方法,前提是转换为 pandas 自己 datetime类型。...转换方法是一致: # 字符串类型换为 datetime64[ns] 类型 df['a_col'] = pd.to_datetime(df['a_col']) # datetime.date 类型换为...对整列每个值做上述匿名函数所定义运算,完成后整列值都是字符串类型 pd.to_datetime() 把整列字符串转换为 pandas datetime 类型,再重新赋值给该(相当于更新该

2.3K10

python常用模块大全_python常用第三方模块大全

datetime模块对time模块进行了封装,提供了高级API datetime模块核心类是datetimedate、time类 datetime类 一个datetime对象可以表示日期和时间等信息...0, tzinfo=None) 其中year、month、day是不可以省略;tzinfo是时区参数,默认值是None,表示不指定时区;除了tzinfo外,其他参数全部为合理范围整数,具体取值范围就跟生活中时间一样...而其他语言如Java单位是”毫秒”,当跨平台计算时间需要注意这个差别 实战例子 # 需求:python生成时间戳转换为java格式来匹配你们公司java后端 timestamp = str(...默认是保留6位小数,这里保留3位小数,因为python时间戳单位是秒,java是毫秒, 3.第2步得到结果int(),确保是int类型,再乘以1000,时间戳单位转换为毫秒 4.最后用str(),...确保timestamp类型是字符串类型 “”“ datedate.today(): 返回当前本地日期 date.fromtimestamp(timestamp): 返回与UNIX时间戳对应本地日期

3.8K30
  • python常用模块大全_python常用

    datetime模块对time模块进行了封装,提供了高级API datetime模块核心类是datetimedate、time类 datetime类 一个datetime对象可以表示日期和时间等信息...0, tzinfo=None) 其中year、month、day是不可以省略;tzinfo是时区参数,默认值是None,表示不指定时区;除了tzinfo外,其他参数全部为合理范围整数,具体取值范围就跟生活中时间一样...而其他语言如Java单位是”毫秒”,当跨平台计算时间需要注意这个差别 实战例子 # 需求:python生成时间戳转换为java格式来匹配你们公司java后端 timestamp = str(...默认是保留6位小数,这里保留3位小数,因为python时间戳单位是秒,java是毫秒, 3.第2步得到结果int(),确保是int类型,再乘以1000,时间戳单位转换为毫秒 4.最后用str(),...确保timestamp类型是字符串类型 “”“ datedate.today(): 返回当前本地日期 date.fromtimestamp(timestamp): 返回与UNIX时间戳对应本地日期

    3.4K20

    Python 算法交易秘籍(一)

    返回对象类型datetime.date。在步骤 3中,您通过持续时间为 5 天timedelta对象添加到date_today来创建一个比今天晚 5 天日期。...datetime对象转换为字符串 本配方演示了datetime对象转换为字符串过程,该过程在打印和日志记录中应用。此外,在通过 web API 发送时间戳时也很有帮助。...在步骤 3中,你now_str,一个格式为DD-MM-YYYY HH:MM:SS +Z字符串,转换为now。在步骤 4中,你确认now确实是datetime类型对象。...在步骤 3中使用指令与 datetime 对象转换为字符串配方中描述相同。 还有更多 当字符串读入datetime对象时,应使用适当指令消耗整个字符串。...你 dataframe.csv,一个生成 .csv 文件文件路径,作为第一个参数传递,索引设置为 False 作为第二个参数。索引设置为 False 可以防止索引被储到 .csv 文件中。

    77550

    Python基础语法(五)—常用模块和模块安装和导入

    (),d.today(),d.year,d.timetuple()等方法可以调用 datetime.date.fromtimestamp(1596270517) 把一个时间戳转为datetime日期类型...摘要算法模块 hashlib HASH Hash,一般翻译做“”,也有直接音译为”哈希”,就是把任意长度输入(又叫做预映射,pre-image),通过算法,变换成固定长度输出,该输出就是值...这种转换是一种压缩映射,也就是,空间通常远小于输入空间,不同输入可能会列成相同输出,而不可能从值来唯一的确定输入值。...MD5不可原因是其是一种函数,使用是hash算法,在计算过程中原文部分信息是丢失了。 MD5用途 防止被篡改: 比如发送一个电子文档,发送前,我先得到MD5输出结果a。...SHA是美国国家安全局设计,由美国国家标准和技术研究院发布一系列密码函数。

    1.3K40

    Pandas中文官档 ~ 基础用法1

    以下文章来源于Python大咖谈,作者呆鸟Python大咖谈 呆鸟云:“在学习 Python 数据分析过程中,呆鸟发现直接看官档就是牛逼啊,内容全面、丰富、详细,而 Python 数据分析里最核心莫过于...大部分类型底层数组都是 numpy.ndarray。不过,pandas 与第三方支持库一般都会扩展 Numpy 类型系统,添加自定义数组(见数据类型)。...详情见数据类型。 to_numpy() 可以控制 numpy.ndarray 生成数据类型。...以带时区 datetime 为例,Numpy 未提供时区信息 datetime 数据类型,pandas 则提供了两种表现形式: 一种是带 Timestamp numpy.ndarray,提供了正确...另一种是 datetime64[ns],这也是 numpy.ndarray,值被转换为 UTC,但去掉了时区信息。 时区信息可以用 dtype=object 保存。

    2.8K20

    Pandas中文官档 ~ 基础用法

    大部分类型底层数组都是 numpy.ndarray。不过,pandas 与第三方支持库一般都会扩展 Numpy 类型系统,添加自定义数组(见数据类型)。...详情见数据类型。 to_numpy() 可以控制 numpy.ndarray 生成数据类型。...以带时区 datetime 为例,Numpy 未提供时区信息 datetime 数据类型,pandas 则提供了两种表现形式: 一种是带 Timestamp numpy.ndarray,提供了正确...另一种是 datetime64[ns],这也是 numpy.ndarray,值被转换为 UTC,但去掉了时区信息。 时区信息可以用 dtype=object 保存。...对于异质型数据,即 DataFrame 数据类型不一样时,就不是这种操作模式了。与轴标签不同,不能为值属性赋值。

    2.3K20

    Pandas中文官档 ~ 基础用法1

    大部分类型底层数组都是 numpy.ndarray。不过,pandas 与第三方支持库一般都会扩展 Numpy 类型系统,添加自定义数组(见数据类型)。...详情见数据类型。 to_numpy() 可以控制 numpy.ndarray 生成数据类型。...以带时区 datetime 为例,Numpy 未提供时区信息 datetime 数据类型,pandas 则提供了两种表现形式: 一种是带 Timestamp numpy.ndarray,提供了正确...另一种是 datetime64[ns],这也是 numpy.ndarray,值被转换为 UTC,但去掉了时区信息。 时区信息可以用 dtype=object 保存。...对于异质型数据,即 DataFrame 数据类型不一样时,就不是这种操作模式了。与轴标签不同,不能为值属性赋值。

    2.8K10

    Pandas中文官档 基础用法1

    大部分类型底层数组都是 numpy.ndarray。不过,pandas 与第三方支持库一般都会扩展 Numpy 类型系统,添加自定义数组(见数据类型)。...详情见数据类型。 to_numpy() 可以控制 numpy.ndarray 生成数据类型。...以带时区 datetime 为例,Numpy 未提供时区信息 datetime 数据类型,pandas 则提供了两种表现形式: 一种是带 Timestamp numpy.ndarray,提供了正确...另一种是 datetime64[ns],这也是 numpy.ndarray,值被转换为 UTC,但去掉了时区信息。 时区信息可以用 dtype=object 保存。...对于异质型数据,即 DataFrame 数据类型不一样时,就不是这种操作模式了。与轴标签不同,不能为值属性赋值。

    1.7K20

    Pandas中文官档 ~ 基础用法1

    大部分类型底层数组都是 numpy.ndarray。不过,pandas 与第三方支持库一般都会扩展 Numpy 类型系统,添加自定义数组(见数据类型)。...详情见数据类型。 to_numpy() 可以控制 numpy.ndarray 生成数据类型。...以带时区 datetime 为例,Numpy 未提供时区信息 datetime 数据类型,pandas 则提供了两种表现形式: 一种是带 Timestamp numpy.ndarray,提供了正确...另一种是 datetime64[ns],这也是 numpy.ndarray,值被转换为 UTC,但去掉了时区信息。 时区信息可以用 dtype=object 保存。...对于异质型数据,即 DataFrame 数据类型不一样时,就不是这种操作模式了。与轴标签不同,不能为值属性赋值。

    1.9K30

    数据库篇:mysql内置函数

    UNIX_TIMESTAMP(timeStr) 时间timeStr字符串以UNIX时间戳形式返回 FROM_UNIXTIME(timestamp) UNIX时间戳timestamp转换为普通格式时间...>01:12:00 TO_DAYS(dateTime) 计算日期 dateTime 距离0000年1月1日天数 DATEDIFF(date1,date2) 计算日期 date1->date2 之间相隔天数...角度转换为弧度 DEGREES(x) 弧度转换为角度 SIN(x) 求正弦值(参数是弧度) ASIN(x) 求反正弦值(参数是弧度) COS(x) 求余弦值(参数是弧度) ACOS(x) 求反余弦值...[ELSE result] END 当condition 为TRUE时返回result 5 加密和压缩函数 函数 功能描述 MD5 MD5(str)函数可以对字符串str进行,可以用于一些普通不需要解密数据加密...字符串转数字 INET_NTOA(expr) 数字ip字符串 CAST(expr AS type) 转换数据类型 CONVERT(expr,type) type可以为BINARY[(N)],CHAR[

    2.1K10

    python时间类型

    时间类型是编程语言中经常使用到,且在日常生活中也常用到。本文介绍几种时间库常用方法,以满足日常编程需要,主要涉及库有:time、datetimetime类型。...指定日期转换成时间戳: 1611331200.0 (2)localtime()方法 localtime()方法可以时间戳转换为当前时区struct_time类型,如果不提供参数,以当前时间为准;...1, 23)) 创建今天date对象: 2021-01-23 创建指定日期date对象: 2020-01-23 (2)date对象字符串 date字符串利用date对象strftime(format...注意:datetime类型可以转为date,而date不可转为datetime。...以上就是python中time类型主要内容,掌握各种日期转换方法对于理解time类型十分重要,因为很多数据都是关于时间序列

    2.2K20

    流畅python

    介绍了很多python不常用数据类型、操作、库等,对于入门python后想要提升对python认识应该有帮助。...不可变序列:不可进行上述操作序列,包括tuple, str, bytes等。 字典变种 标准库里collections模块中提供了很多与字典类型相似的变种。...这就是 defaultdict , 它是 dict 子类, 并实现了 missing 方法. dict实现以及导致结果 键必须是可: 一个可对象必须满足以下要求。...(1) 支持 hash() 函数,并且通过 __hash__() 方法所得到值是不变。 (2) 支持通过 __eq__() 方法来检测相等性。...所有由用户自定义对象默认都是可,因为它们值由 id() 来获取,而 且它们都是不相等。 字典在内存上开销很大(用内存换效率)。

    2.4K10

    Python datedatetime,time等相关操作总结

    测试环境: Python版本:Python 3.3.2 代码实践: __author__ = '授客' import time from datetime import date...('当前本地日期对应星期:', weekday) #0~6 ->周一到周日 # 时间戳(秒)转换为date对象 mydate = date.fromtimestamp(1512144000)...= date_time.weekday() print('当前本地日期时间对应星期:', weekday) #0~6 ->周一到周日 # 时间戳(秒)转换为datetime对象 mydatetime...-12-03 当前本地日期对应星期: 0 时间戳(秒)转换为date对象: 2017-12-02 方法1:当前本地日期时间(datetime对象) 类型: value: 2017-12-04...(秒): 1512317364 当前本地日期时间对应星期: 0 时间戳(秒)转换为datetime对象: 2017-12-02 22:57:30 日期时间字符串表达式datetime对象 类型

    2.4K20

    Python 弱引用 weakref

    如果您使用 Python 字典将名称映射到图像,或图像映射到名称,则图像对象保持活动状态,只是因为它们在字典中显示为值或键。...如果对象是可,则弱引用是可。即使在对象被删除后,它们仍将保持其哈希值。如果仅在对象被删除后才第一次调用 hash(),则该调用引发 TypeError。...方便之处就是,在大多数情况下可以直接代理对象当做引用对象使用 坏处就是内存空间不一致,数据类型不一致,不可哈希 赋值后会变成强引用,因此不可赋值 示例代码: import sys...,也就是转换为强引用,此时引用数会增加 pro += 1 print(sys.getrefcount(data)) # 3 # 对象类型变为 <class 'numpy.ndarray...Python 调用一个对象时,执行是其类型对象中 tp_call 函数。

    1.1K10

    时间序列 | 字符串和日期相互转换

    Python标准库包含用于日期(date)和时间(time)数据数据类型,而且还有日历方面的功能。我们主要会用到datetime、time以及calendar模块。...说明 date 以公历形式存储日期(年、月、日) time 时间存储为时、分、秒、毫秒 datetime 存储日期和时间日、秒、毫秒 timedelta 表示两个datetime 值之间差 --...例如 2020-05-25 %D %m/%d/%y 简写形式,例如 05/25/20 格式化编码字符串转换为 datetime datetime.strptime() >>> value = '2020...datetime类型转换 还是需要datetime模块将其转换为日期格式 >>> from datetime import datetime >>> y,m,d = t[0:3] >>> datetime...(y,m,d) datetime.datetime(2020, 5, 20, 0, 0) >>> print(datetime(y,m,d)) 2020-05-20 00:00:00 time类型字符串

    7.3K20

    Python入门进阶教程-时间序列

    标准库包含用于日期(date)和时间(time)数据数据类型,而且还有日历方面的功能。...+timedelta(-1) print(new_time) # 输出 2019-11-26 18:45:24.184510 datetime 模块中数据类型 类型 说明 date 以公历形式存储日历日期...strptime 函数是字符串转换为时间元组 03 — calendar 模块 calendar模块函数都是与日历相关,比如打印某个月日历等 1import calendar 2 3#...下节介绍Python 数据库操作 Python系列 Python系列会持续更新,从基础入门到进阶技巧,从编程语法到项目实战。...若您在阅读过程中发现文章存在错误,烦请指正,非常感谢;若您在阅读过程中能有所收获,欢迎一起分享交流。 如果你也想和我一起学习Python,关注我吧! 学习Python,我们不只是说说而已 End

    2.5K10

    Python分析苹果公司股价数据

    floatconv return float(x) ValueError: could not convert string to float: b'2018/3/16' 我们发现他报错了,错误信息是不能将一个字节类型对象转换为浮点类型对象...我们先假定日期是一个字符串类型(下载网络数据中往往是字符串通过utf-8编码成字节码,这个可以见第一季中字符编码相关内容介绍) import numpy as np import datetime...d) 2017-03-16 00:00:00 通过python标准库中datetime函数包,我们通过指定匹配格式%Y/%m/%d 日期字符串转换为了...datetime对象有一个date方法,把datetime对象中time部分去掉,变成一个纯日期,再调用weekday可以转换为一周中第几天,这里是从周日开始算起。...:由于从csv中读取数据类型为bytes,所以我们写了一个转换函数,先将bytes类型日期数据进行解码(字符串编解码详见第一季),然后再用上一段程序介绍方法转换为一个表示周几数字 而np.loadtxt

    75220
    领券