【发布时间】:2026-02-09 05:15:02
【问题描述】:
我有以下代码:
example = {'date': ['01_September_2020_abdca', '01_September_2020_sfasd'],
'user': ['a', 'b']}
example_df = pd.DataFrame(example)
test = example_df['date'].str.extract('([0-3][0-9]_[a-zA-Z]*_[0-9]{4})')
display(pd.to_datetime(test, format='%d_%B_%Y'))
但是,这会导致错误,即“AttributeError: 'int' object has no attribute 'lower'”。但是,如果我将代码更改为对列的赋值,那么它可以工作:
example = {'date': ['01_September_2020_abdca', '01_September_2020_sfasd'],
'user': ['a', 'b']}
example_df = pd.DataFrame(example)
example_df['date_datetime'] = example_df['date'].str.extract('([0-3][0-9]_[a-zA-Z]*_[0-9]{4})')
display(pd.to_datetime(example_df['date_datetime'], format='%d_%B_%Y'))
谁能解释一下为什么这两段代码不相等?
【问题讨论】: