python 将带有时区的 datetime 转换为日期

python convert datetime with time zone to date

提问人:Ty Kendall 提问时间:7/31/2023 最后编辑:mokenTy Kendall 更新时间:7/31/2023 访问量:38

问:

我正在尝试将我的日期时间列转换为日期。

以下是我的日期值的样子:

2023-06-25T00:00:00.000Z

我想将其转换为

2023-06-25

此命令;

df['date'].dt.strftime('%Y-%m-%d') 

不起作用。
我收到的错误消息显示 。
"Attribute Error: Can only use .dt accessor with datetime like values"

另外,当我跑步时

df.info 

它表示日期是一个对象。

关于我能做什么的任何想法?

Python 熊猫 字符串 日期 日期

评论

0赞 Roj 7/31/2023
打印时控制台是什么样子的?df["date"]
0赞 Barmar 7/31/2023
如果说 dtype 是 object,则列中可能存在一些非日期时间值。
0赞 Barmar 7/31/2023
您应该首先尝试将该列转换为日期时间,请参阅 stackoverflow.com/questions/28133018/...

答:

0赞 setibs 7/31/2023 #1

要从 object 更改为 datetime64,您可以尝试以下操作:

import pandas as pd


data = {'date': ['2023-06-25T00:00:00.000Z']}
df = pd.DataFrame(data)

df['date'] = pd.to_datetime(df['date'])

df['date'] = df['date'].dt.strftime('%Y-%m-%d')

print(df)

如果你这样做 df.info() 它会说 datetime64,而不是对象

1赞 Python_bot_here 7/31/2023 #2
import pandas as pd

# Assuming 'df' is your DataFrame
# Convert 'date' column to datetime format
df['date'] = pd.to_datetime(df['date'])

# Extract only the date part and overwrite the 'date' column
df['date'] = df['date'].dt.date

# Now, 'date' column will contain only the date (yyyy-mm-dd)
print(df['date'])