8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

将包含 1600 年之前的日期的字符串转换为 Pandas 中的日期时间对象

Akshat Sharma 1月前

16 0

我正在研究中世纪羊皮纸数据集。尝试将这种格式的日期“1140 01 12”转换为 pandas DateTime 对象中的“%Y %m %d”。不幸的是,pandas 仅处理截至大约

我正在研究中世纪羊皮纸数据集。尝试在 pandas DateTime 对象中转换格式为 '1140 01 12' '%Y %m %d' 的日期。不幸的是,pandas 仅处理最迟到 1660 年的日期,精度为 ns。我可以使用天数精度,但无法使其正常工作:

import pandas as pd 
d = {'date': ['1140 01 12', '1140 02 16','1140 04 12','1200 10 27'], 'col2': [3, 4,5,6]}
pd.to_datetime(d['date'], format='%Y %m %d',origin = "julian", unit = "D")

我知道 ValueError: incompatible 'arg' type for given 'origin'='julian' 如何解决这个问题吗?

帖子版权声明 1、本帖标题:将包含 1600 年之前的日期的字符串转换为 Pandas 中的日期时间对象
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Akshat Sharma在本站《dataframe》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 您可以尝试 pd.Period

    def conv(x):
        year, day, month = map(int, x.split(" "))
        return pd.Period(year=year, month=month, day=day, freq="D")
    
    
    d = {"date": ["1140 01 12", "1140 02 16", "1140 04 12"], "col2": [3, 4, 5]}
    df = pd.DataFrame(d)
    
    df["date"] = df["date"].apply(conv)
    print(df)
    

    印刷:

             date  col2
    0  1140-12-01     3
    1  1147-03-18     4
    2  1140-12-04     5
    
  • 非常感谢,我不知道为什么 1200 10 27 被转换为 Period('57890464-09-29', 'D'),而且我无法绘制数据。我做错了什么吗?

返回
作者最近主题: