当前位置: 首页 > 知识库问答 >
问题:

自动标识日期时间列 [重复]

章晋鹏
2023-03-14

原始关闭原因未解决

当我读取CSV / Excel文件时,日期时间列具有“对象”类型。如果它是唯一的一个,很容易识别它,但是我得到了几个不包含时间的对象类型列 - 字符串。

我正在寻找一种方法来识别时间列,而不知道它的名称或位置。目前我所能做的就是这样:

dfs = df.loc[:, df.dtypes == object]
#Or 
df = df.select_dtypes(include = ['object']) 

csv文件示例:

timestep,winddirection,windspeed,windspd_10m_gust,Hs,waveheight_max,waveperiod,peakperiod_1d,secondarywavedirection,windwaveheight,secondarywaveperiod,primarywavedirection,swellheigth,primarywaveperiod,temperature
7/15/2021 16:00,161,21.6609024,23.5205124,2.58,3,4.6,6.2,162,1.43,5.2,101,1.21,8.1,24.5
7/15/2021 17:00,165,21.466518,23.326128,2.56,3,4.6,6.2,164,1.41,5.2,100,1.2,8.1,24.7
7/15/2021 18:00,167,20.8833648,22.5485904,2.53,2.9,4.6,6.2,165,1.39,5.2,101,1.19,8.1,24.6
7/15/2021 19:00,167,20.494596,21.9654372,2.5,2.9,4.6,6.2,167,1.34,5.1,103,1.21,8,24.7
7/15/2021 20:00,167,20.6889804,22.354206,2.48,2.8,4.6,6.2,166,1.33,5.1,100,1.19,8,24.8
7/15/2021 21:00,168,21.0777492,22.7429748,2.47,2.8,4.6,6.2,167,1.32,5.1,102,1.17,8.1,24.9
7/15/2021 22:00,168,21.2721336,23.1317436,2.46,2.8,4.6,6.2,167,1.34,5.1,99,1.14,8.2,25
7/15/2021 23:00,166,21.466518,23.326128,2.46,2.8,4.5,6.2,165,1.36,5.1,98,1.12,8.3,24.7
7/16/2021 0:00,169,21.0777492,22.7429748,2.46,2.8,4.5,6.1,167,1.35,5.1,97,1.13,8.3,24.2
7/16/2021 1:00,176,22.0496712,24.1036656,2.48,2.8,4.5,6.1,174,1.36,5,98,1.14,8.3,23.9
7/16/2021 2:00,177,22.43844,24.4924344,2.54,2.9,4.5,6.1,174,1.45,5.1,96,1.12,8.4,24.3
7/16/2021 3:00,181,23.410362,25.6587408,2.62,3.1,4.5,6.2,176,1.56,5.2,96,1.12,8.5,24.3
7/16/2021 4:00,181,24.1878996,26.6306628,2.68,3.2,4.6,6.2,178,1.65,5.3,96,1.1,8.5,24.2

共有1个答案

松桐
2023-03-14

>

  • 在读取csv文件时,将infer_ datetime_。

    或者对特定列使用df[' column ']= PD . datetime(df[' column '])

    安装愿景、Imagehash包

    • pip 安装愿景
    • pip install imagehash

    使用以下代码:

    import pandas as pd
    import visions
    from visions.functional import cast_to_inferred, detect_type, infer_type
    from visions.typesets import CompleteSet
    df = pd.read_csv("file.csv")
    typeset = CompleteSet()
    cast_df = cast_to_inferred(df, typeset)
    print(infer_type(df, typeset))
    

    例如,检查此链接

  •  类似资料:
    • 我正在颤振中创建一个表单,其中一个字段是出生日期。我使用了日期时间选择器来选择日期并显示输出。我想格式化我得到的日期,只显示月份、日期和年份。以下是当前的日期格式。我希望它的格式为。这是我想出的代码

    • 本文向大家介绍pandas 日期时间系列,包括了pandas 日期时间系列的使用技巧和注意事项,需要的朋友参考一下 示例            

    • 我需要将日期/时间从2014年8月20日15:30:00更改为2014年8月20日下午3:30 这可以使用javascript的日期对象来完成吗?

    • 问题内容: 寻找时间平均问题的最快解决方案。 我有一个日期时间对象列表。需要找到时间的平均值(不包括年,月,日)。这是到目前为止我得到的: 问题答案: 这是解决此问题的更好方法 生成日期时间样本 平均20m次 结果为timedelta(请注意,这需要numpy 1.7和pandas 0.13 ,很快就会出现) 以秒为单位(这适用于熊猫0.12,numpy> = 1.6)。

    • 问题内容: 我有一个脚本,需要在脚本的不同行执行以下命令: 在我的陈述中,我有以下内容: 我收到以下错误: 如果我将语句的顺序更改为: 我收到以下错误: 如果我再次将语句更改为: 我收到以下错误: 这是怎么回事,我怎么都可以工作? 问题答案: 您的麻烦是,您有一些代码希望对 模块 进行引用,而其他代码希望对类进行引用 。 显然,不能两者兼有。 当您这样做时: 您首先要设置为对该类的引用,然后立即将

    • 问题内容: 这是我的代码,用于查看从ListActivity中选择的事件(是包含所有这些事件的ArrayList): 此代码对重复发生的事件以外的所有事件均适用。对于重复发生的任何事件,endTime返回为null,从而导致程序崩溃。有人知道如何解决这个问题吗?我还有其他需要通过的额外费用吗? 问题答案: beginTime和endTime可以为0 / null,因为您是从错误的数据库(当然是从