首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas 'astype‘with date (或datetime)

Pandas 'astype‘with date (或datetime)
EN

Stack Overflow用户
提问于 2020-04-21 03:23:40
回答 1查看 13.4K关注 0票数 2

This answer包含了一种非常优雅的方式,可以在一行中设置所有类型的pandas列:

代码语言:javascript
运行
复制
# convert column "a" to int64 dtype and "b" to complex type
df = df.astype({"a": int, "b": complex})

我开始认为,不幸的是,它的应用有限,您将不得不使用其他各种方法来转换列类型,或早或晚,跨越许多行。我测试了'category',它起作用了,所以它将接受像intcomplex这样的实际python类型,然后像'category'这样用引号括起来的pandas术语。

我有一列日期,看起来像这样:

代码语言:javascript
运行
复制
25.07.10
08.08.10
07.01.11

我看过关于转换日期列的this answer,但它们似乎都不符合上面的优雅语法。

我试过了:

代码语言:javascript
运行
复制
from datetime import date
df = df.astype({"date": date})

但它给出了一个错误:

代码语言:javascript
运行
复制
TypeError: dtype '<class 'datetime.date'>' not understood

(忽略整个跟踪)

我也尝试过pd.Series.dt.date,它也不起作用。是否可以在一行中转换所有列,包括date或datetime列?

EN

Stack Overflow用户

回答已采纳

发布于 2020-09-27 03:54:23

评论中已经回答了这个问题,其中指出了以下工作:

代码语言:javascript
运行
复制
df.astype({'date': 'datetime64[ns]'})

此外,您还可以在读取数据时设置数据类型:

代码语言:javascript
运行
复制
pd.read_csv('path/to/file.csv', parse_dates=['date'])
票数 6
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61330414

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档