pandas 提取部分日期并将其放入 Dataframe

e0uiprwp  于 2022-12-21  发布在  其他
关注(0)|答案(1)|浏览(195)

我想知道如何从 Dataframe 中提取日期的每个部分(一次提取,而不是每个部分的 df["_Date”].str.match(pattern)),并将其放入 Dataframe 中,例如:

import pandas as pd

# date: str mm/dd/yyyy
df = pd.DataFrame(data=["12/1/2010 8:26", "12/3/2010 8:28", "12/6/2010 8:28", "02/15/2011 8:34", "02/18/2011 8:34", "03/01/2011 8:34"], columns=["_Date"])
...
print(newDf)
days monthAndYear time
1        12/2010  8:26
3        12/2010  8:28
6        12/2010  8:28
...
py49o6xq

py49o6xq1#

您的列的数据类型仍然是string(= object)。您需要先将其转换为datetime

df["_Date"] = pd.to_datetime(df._Date)

然后您可以通过.dt访问datetime API并执行以下操作

>>> df["_Date"].dt.day
0     1
1     3
2     6
3    15
4    18
5     1
Name: _Date, dtype: int64

>>> df._Date.dt.month_name()
0    December
1    December
2    December
3    February
4    February
5       March
Name: _Date, dtype: object

等等。
1请注意,您可能需要设置pd.to_datetime的某些选项才能获得预期结果,请参见docs

相关问题