在熊猫数据框中将日期时间格式2020-09-16 00:00:00转换为20200916

时间:2020-09-27 06:46:23

标签: python python-3.x pandas dataframe datetime

我在下面的python中有panda数据框。

full_name  serial  Date_YMD                  prc1     prc2    volume
 bottle_a  AX80    2020-09-22 00:00:00   12874.50  12927.75   61023.0 
 bottle_a  AX80    2020-09-23 00:00:00   12878.50  12926.75   61023.0
 bottle_a  AX80    2020-09-24 00:00:00   12872.50  12928.75   61023.0

我想将Date_YMD列中的日期格式值转换为转换后的格式;

full_name  serial  Date_YMD        prc1     prc2    volume
 bottle_a  AX80    20200922    12874.50  12927.75   61023.0 
 bottle_a  AX80    20200923    12878.50  12926.75   61023.0
 bottle_a  AX80    20200924    12872.50  12928.75   61023.0

我正在使用python 3.8

2 个答案:

答案 0 :(得分:2)

您需要先将Date_YMD列转换为熊猫datetime列:

In [731]: df.Date_YMD = pd.to_datetime(df.Date_YMD)

然后,您可以使用strftime这样的方法来格式化datetime列:

In [735]: df.Date_YMD = df.Date_YMD.dt.strftime('%Y%m%d')

In [736]: df
Out[736]: 
  full_name serial  Date_YMD     prc1      prc2   volume
0  bottle_a   AX80  20200922  12874.5  12927.75  61023.0
1  bottle_a   AX80  20200923  12878.5  12926.75  61023.0
2  bottle_a   AX80  20200924  12872.5  12928.75  61023.0

答案 1 :(得分:1)

假设您的Date_YMD列是datetime对象,如果未将其转换为 由pd.to_datetime来完成。

然后这将完成工作,但是它将datetime对象转换为字符串。

df['Date_YMD'] = (df['Date_YMD'].dt.date).apply(lambda x: x.strftime("%Y%m%d"))