更新:如何从DaskDataFrame转换/解析字符串日期 [英] UPDATED: How to convert/parse a str date from a dask dataframe

查看:0
本文介绍了更新:如何从DaskDataFrame转换/解析字符串日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

更新:

我能够执行转换。下一步是将其放回ddf。

我按照书中的建议所做的是:

  1. 日期已分析并存储为单独的变量。
  2. 使用
  3. 删除了原始日期列
ddf2=ddf.drop('date',axis=1)
  1. 使用Assign追加新的分析日期
ddf3=ddf2.assign(date=parsed_date)

新日期已添加为新列,最后一列。

问题1:有没有更有效的方法将parsed_date重新插入ddf?

问题2:如果我有三列字符串日期(日期、开始日期、结束日期),我无法确定循环是否可以工作,因此不必重新编码每个字符串日期。(或者我想的方法可能是错误的)

问题3对于格式为11OCT2020:13:03:12.452的日期,以下分析是否正确:%d%b%Y:%H:%M:%S&Q;?我觉得我漏掉了一些秒数,因为上面的秒数是十进制数/浮点数。

年长:

我在DaskDataFrame中有以下列:

ddf = dd.DataFrame({'date': ['15JAN1955', '25DEC1990', '06MAY1962', '20SEPT1975']})

最初作为DaskDataFrame上载时,它被投影为对象/字符串。在寻找《使用Python和DASK的数据科学》一书中的指导时,它建议在初始上传时将其作为np.str数据类型上传。但是,我无法理解如何将列转换为DATE数据类型。我尝试使用dd.to_Datetime处理它,确认返回dtype:DateTime64[ns],但当我运行ddf.dtype时,帧仍然返回对象数据类型。

我想将对象数据类型更改为Date,以便稍后筛选/运行条件

推荐答案

dask.dataframe支持pandas接口处理DateTime,应该可以:

import dask.dataframe as dd
import pandas as pd

df = pd.DataFrame({"date": ["15JAN1955", "25DEC1990", "06MAY1962", "20SEPT1975"]})

print(pd.to_datetime(df["date"]))
# 0   1955-01-15
# 1   1990-12-25
# 2   1962-05-06
# 3   1975-09-20
# Name: date, dtype: datetime64[ns]

ddf = dd.from_pandas(df, npartitions=2)

ddf["date"] = dd.to_datetime(ddf["date"])

print(ddf.compute())
#         date
# 0 1955-01-15
# 1 1990-12-25
# 2 1962-05-06
# 3 1975-09-20

这篇关于更新:如何从DaskDataFrame转换/解析字符串日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆