本文介绍了更新:如何从DaskDataFrame转换/解析字符串日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
更新:
我能够执行转换。下一步是将其放回ddf。
我按照书中的建议所做的是:
- 日期已分析并存储为单独的变量。
- 使用 删除了原始日期列
ddf2=ddf.drop('date',axis=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转换/解析字符串日期的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!