DateTime只需要AM / PM部分

问题描述

我确实有一个看起来像这样的列:

Time        Qty_sold
12:00 pm    2 
12:01 pm    5
12:05 pm    4
05:07 am    2
06:09 am    1

时间列是一个对象,我只想检索am / pm部分。我将如何做到这一点?我确实尝试了下面的代码来滑动数据,但没有用。

df_sales_sum['am/pm'] = df_sales_sum['Time'].astype(str).str[:-2].astype(np.int64)

还有其他方法可以获取AM / PM部分吗?

谢谢!

解决方法

您非常亲密。您需要.str[-2:]

使用:

df= pd.DataFrame({'Time': ['12:00 pm','12:01 pm','12:05 pm','05:07 am','06:09 am']})
df["'am/pm'"] = df['Time'].str[-2:]
print(df)

输出:

       Time am/pm
0  12:00 pm    pm
1  12:01 pm    pm
2  12:05 pm    pm
3  05:07 am    am
4  06:09 am    am