gpt4 book ai didi

python - 将 CSV 中的字符串交换为日期时间 (Python)

转载 作者:行者123 更新时间:2023-12-01 08:38:17 25 4
gpt4 key购买 nike

我有一个名为 aero 的数据集我正在尝试将给定列中的字符串日期更改为日期时间这是字符串的格式:

In: aero['Date Local'].unique()
Out: array(['2000-01-01', '2000-01-02', '2000-01-03', ..., '2016-03-04',
'2016-03-05', '2016-03-06'], dtype=object)

如果我错了,请纠正我,但这看起来像是一个可变的字符串列表这是我尝试过的代码:

for stuff in aero['Date Local']:
aero['Date Local'][stuff] = datetime.datetime.strptime(stuff, "%Y-%m-%d")

产生错误:

ValueError: ['2' '0' '0' '0' '-' '0' '1' '-' '0' '1'] not contained in the index

我试图弄清楚这意味着什么,但无济于事。有人可以帮我将这些字符串切换为日期时间吗?

最佳答案

您在循环的每次迭代中定义一个新变量stuff。那不是你想要的。您只需使用 astype 将数组转换为 datetime:

A = np.array(['2000-01-01', '2000-01-02', '2000-01-03', '2016-03-04',
'2016-03-05', '2016-03-06'], dtype=object)

res = A.astype('datetime64[ns]')

print(res)

array(['2000-01-01T00:00:00.000000000', '2000-01-02T00:00:00.000000000',
'2000-01-03T00:00:00.000000000', '2016-03-04T00:00:00.000000000',
'2016-03-05T00:00:00.000000000', '2016-03-06T00:00:00.000000000'],
dtype='datetime64[ns]')

同样,如果您有 Pandas,则可以使用 pd.to_datetime :

import pandas as pd

res = pd.to_datetime(A).values # .values extracts NumPy array

因此,假设 aero 是 Pandas 数据框,您可以使用:

aero['Date Local'] = pd.to_datetime(aero['Date Local'])

关于python - 将 CSV 中的字符串交换为日期时间 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53603108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com