【问题标题】:Removing date from an entire column of date&time data in python?从python中的一整列日期时间数据中删除日期?
【发布时间】:2018-06-27 14:37:06
【问题描述】:

我正在处理来自水质传感器的大型数据集,该传感器以以下格式传递日期和时间:25-Jun-2018 15:16:51

我想从日期/时间数据的整个列中删除日期部分,但是我发现这样做很难,因为我对 python 非常陌生。

我能够使用以下方法从一条数据中删除日期:

df = pd.DataFrame({'time':['25-Jun-2018 15:17:49']})
df

                 time
0   25-Jun-2018 15:17:49

df['time'] = pd.to_datetime(df['time']).dt.time
df

      time
0   15:17:49

谁能帮我一次对一整列数据执行此操作?数据看起来像这样。

water_level_time = pd.DataFrame()
water_level_time = df[['Date / Time']]
water_level_time

        Date / Time
0   25-Jun-2018 15:16:51
1   25-Jun-2018 15:16:53
2   25-Jun-2018 15:16:55
3   25-Jun-2018 15:16:57
4   25-Jun-2018 15:16:59
5   25-Jun-2018 15:17:1
6   25-Jun-2018 15:17:3
7   25-Jun-2018 15:17:5
8   25-Jun-2018 15:17:7
9   25-Jun-2018 15:17:9

感谢任何和所有建议。感谢您的时间。

【问题讨论】:

  • 抱歉,我刚接触堆栈溢出,不知道如何格式化 In 和 Out 单元格
  • 第一个单元格中的方法pd.to_datetime(df['time']).dt.time 不适用于整个列怎么办?
  • 它可能有效,但我不确定如何在这种情况下引用整个列。
  • 以完全相同的方式。 df['Date / Time'] 返回一个 panas.Series,然后您可以使用 .dt.time 毫无问题地对其进行操作。

标签: python pandas time dataset


【解决方案1】:

如果您使用的是 pandas,请使用 lambda 函数。

df['date_val'] = df['Date / Time'].apply(lambda x: x.dt.date)

df['time_val'] = df['Date / Time'].apply(lambda x: x.dt.time)

【讨论】:

    猜你喜欢
    • 2018-08-20
    • 2016-02-22
    • 1970-01-01
    • 2021-03-19
    • 1970-01-01
    • 2022-12-13
    • 1970-01-01
    • 2015-10-13
    相关资源
    最近更新 更多