如何在str为June 13, 1980 (United States)的列上传递datetime格式

我试了 df['format_released'] = pd.to_datetime(df['released'], format='%m/%d/%Y')

收到此错误

时间数据"1980年6月13日(美国)"与格式'%m/%d/%Y'不匹配(匹配)

推荐答案

您需要预处理列以丢弃不相关的数据.

使用str.replace:

df['format_released'] = pd.to_datetime(df['released'].str.replace(r'\s*(.*$', '', regex=True), format='%B %d, %Y')

或使用str.extract:

df['format_released'] = pd.to_datetime(df['released'].str.extract(r'(\w+ \d+, \d+)', expand=False), format='%B %d, %Y')

Python相关问答推荐

有症状地 destruct 了Python中的regex?

Julia CSV for Python中的等效性Pandas index_col参数

无法定位元素错误404

如何创建一个缓冲区周围的一行与manim?

Python—从np.array中 Select 复杂的列子集

根据列值添加时区

计算天数

如何从需要点击/切换的网页中提取表格?

巨 Python :逆向猜谜游戏

计算空值

Python pint将1/华氏度转换为1/摄氏度°°

mdates定位器在图表中显示不存在的时间间隔

如何将泛型类类型与函数返回类型结合使用?

如何用FFT确定频变幅值

在第一次调用时使用不同行为的re. sub的最佳方式

Pythonquests.get(Url)返回Colab中的空内容

如果服务器设置为不侦听创建,则QWebSocket客户端不连接到QWebSocketServer;如果服务器稍后开始侦听,则不连接

在一个数据帧中,我如何才能发现每个行号是否出现在一列列表中?

如何获取给定列中包含特定值的行号?

在伪子进程中模拟标准输出.打开