【发布时间】:2018-01-26 17:02:12
【问题描述】:
在我的 pandas 数据框中,我的数据时间列具有以下形状,我如何从列中提取 Y、M、D、H、M、秒。 我正在使用它首先将其转换为日期时间格式。
import datetime as dt
df['TIMESTAMP'] = df['YMD-Time'].apply(lambda x: dt.datetime.strptime(x,'%Y%-m%-d%-H%-M%-S'))
它们似乎是用制表符分隔的。为日期、月份、年份、小时、分钟、秒创建单独的列
【问题讨论】:
-
你想要
df = df.join(df['YMD-Time'].str.split())吗? -
附注。为什么要将年份等放在不同的列中,而不是
datetime对象? -
不,我将在最后删除 YDM-Time 列,只保留 Y、M、D、H、MS 的单独列。
-
@MaartenFabré 我将使用这些作为功能并根据这些特定列进行 EDA
-
您的
strptime格式错误。我也会使用 (pandas.to_datetime)[pandas.pydata.org/pandas-docs/stable/generated/… 而不是datetime.strptime:pd.to_datetime(df['YMD-Time'], format=format='%Y\t%m\t%d\t%H\t%M\t%S')
标签: python python-3.x pandas