pandas 更改列中的日期格式

cedebl8k  于 2023-02-14  发布在  其他
关注(0)|答案(3)|浏览(120)

我有一些列中包含日期的数据,如下所示。日期是标题
2020年4月14日2020年4月15日2020年4月16日
我想将2020年4月16日改为2020年4月16日
我使用了:
位置[24 ",2020年4月16日]=" 2020年4月16日"位置
它最终改变了列中的所有内容,而不是标题,请帮助!

ozxc1zmp

ozxc1zmp1#

您可以使用strftime来修复时间戳

import pandas as pd

data = {'col1': [1, 2, 3],
        'col2': [4, 5, 6],
        'col3': [7, 8, 9]}

# create headers
header = ['2020-04-14', '2020-04-15', '4/16/20']

# creating dataframe
df = pd.DataFrame(data, columns=header)
#print(df)
#converting headers to datetime format
df.columns = pd.to_datetime(df.columns)
#fixing the datetime format
df.columns = df.columns.strftime('%Y-%m-%d')
print(df)
pbgvytdp

pbgvytdp2#

我不明白你说的read as 2020-04-16是什么意思。这是我的解决方案。希望能有所帮助。

from datetime import datetime

# Parse the original date string using datetime.strptime
original_date = datetime.strptime("4/16/20", "%m/%d/%y")

# Convert the date to the desired format using datetime.strftime
new_date = original_date.strftime("%Y-%m-%d")

print(new_date)

输出:“2020年4月16日”

qxgroojn

qxgroojn3#

根据Pandas manual,您可以使用带有infer_datetime_format参数的内置pd.to_datetime
通常数据时间格式是最好的选择。
由于日期已经是标题,所以您需要做的只是将列转换为datatime:

df.columns = pd.to_datetime(df.columns, infer_datetime_format=True)

默认格式为%Y-%m-%d

相关问题