数据框中列的日期时间转换 Python

Datetime transformation for column in data frame Python

我想将不同的日期格式相互转换。但是,当使用打印命令时,我仍然得到旧的数据格式。我这里做错了什么?

for row in df['created_at']:
    row = datetime.strptime(row, "%Y-%m-%d %H:%M:%S").strftime('%d-%m-%Y')

print(df['created_at'])

在您的代码中,for 循环遍历每个元素,但不保存结果。如果你尝试下面的代码,你会发现你的代码实际上运行良好,结果只是在运行后被“丢弃”。

for row in df['created_at']:
    row = datetime.strptime(row, "%Y-%m-%d %H:%M:%S").strftime('%d-%m-%Y')
    print(row)

你要做的是:

l = []
for row in df['created_at']:
    l.append(datetime.strptime(row, "%Y-%m-%d %H:%M:%S").strftime('%d-%m-%Y'))
print(l)

一个更优雅的解决方案是使用列表理解:

df['created_at'] = [datetime.strptime(row, "%Y-%m-%d %H:%M:%S").strftime('%d-%m-%Y') for row in df['created_at']]
print(df['created_at'])