所以我在熊猫中有这个数据集,我想对其进行时间序列分析。 我使用pd.read_csv导入数据集并将其命名为“ df”。然后,我使用df.head()函数检查了数据集的前5列。
df.head()
Date ARTICLES Detail
0 2018-070-2 10:54:00 DUBIC MALT CASH
1 2018-070-2 10:54:00 ANGEL COTTON-BUD CASH
2 2018-070-2 10:54:00 RIBENA 1LITTER CASH
3 2018-07-02 10:54:00 BOTTLE WATER 75CL CASH
4 2018-07-02 10:54:00 LWAYS CLASSIC THICK LONG CASH
现在我想在熊猫中将“日期”列分为“日期”(如2018-07-02)和“时间”(如10:54:00)。
我尝试使用rsplit函数,但会引发错误。
答案 0 :(得分:1)
首先,您需要将“日期”列转换为熊猫的Datetime:
In [1991]: df.Date = df.Date.apply(pd.to_datetime)
然后,您可以将Date
列拆分为2个新列,如下所示:
In [1993]: df['Day'] = [d.date() for d in df['Date']]
...: df['Time'] = [d.time() for d in df['Date']]
...:
In [1994]: df
Out[1994]:
Date Day Time
0 2018-07-02 10:54:00 2018-07-02 10:54:00
1 2018-07-02 10:54:00 2018-07-02 10:54:00
2 2018-07-02 10:54:00 2018-07-02 10:54:00
3 2018-07-02 10:54:00 2018-07-02 10:54:00
4 2018-07-02 10:54:00 2018-07-02 10:54:00
答案 1 :(得分:1)
assign
和dt
访问者df.assign(Date=df.Date.dt.date, Time=df.Date.dt.time)
Date Time
0 2018-07-02 10:54:00
1 2018-07-02 10:54:00
2 2018-07-02 10:54:00
3 2018-07-02 10:54:00
4 2018-07-02 10:54:00
答案 2 :(得分:0)
您可以尝试通过这种方式在df['Date']
df['Day'] = [d.date() for d in df['Date']]
df['Time'] = [d.time() for d in df['Date']]
演示:
import pandas as pd
df = pd.DataFrame({'Date': pd.date_range('2018-07-02 10:54:00', periods=5)})
df['Day'] = [d.date() for d in df['Date']]
df['Time'] = [d.time() for d in df['Date']]
print(df)