gpt4 book ai didi

python - 在 Python 中根据日期创建日列时出错 - Pandas 数据框

转载 作者:太空宇宙 更新时间:2023-11-03 14:27:33 25 4
gpt4 key购买 nike

我正在尝试根据日期创建日期列。当我这样做时,效果非常好:

from dateutil import parser
parser.parse(dta.date[0]).strftime("%A")

Output: 'Tuesday'

但是当我尝试创建这样的新列时:

dta['week_day'] = parser.parse(dta['date']).strftime("%A")

它给了我一个错误:

TypeError: Parser must be a string or character stream, not Series

dta.info()

<class 'pandas.core.frame.DataFrame'>
RangeIndex: 107927 entries, 0 to 107926
Data columns (total 16 columns):
date 107927 non-null object
dep_hour 107927 non-null int64
dep_minute 107927 non-null int64
dep_time 107927 non-null int64
dep_delay 107927 non-null int64
arr_hour 107927 non-null int64
arr_minute 107927 non-null int64
arr_time 107927 non-null int64
arr_delay 107927 non-null int64
carrier 107927 non-null object
tailnum 107927 non-null object
flight 107927 non-null int64
origin 107927 non-null object
dest 107927 non-null object
air_time 107927 non-null int64
distance 107927 non-null int64
dtypes: int64(11), object(5)

日期如下所示:

enter image description here

最佳答案

我将在系列上的列名称 date 处使用 .apply 函数。

from dateutil import parser
import pandas as pd

dta = pd.DataFrame([{"date":"10/20/2017"},{"date":"1/5/2017"},{"date":"5/30/2017"}])
dta['date'] = dta['date'].apply(lambda date:parser.parse(date).strftime("%A"))
print(dta)

输出:

       date
0 Friday
1 Thursday
2 Tuesday

关于python - 在 Python 中根据日期创建日列时出错 - Pandas 数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47525505/

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