如何将Pandas DataFrame中的字符串列转换为字典类型?
将DataFrame的字符串列转换为字典类型
针对你的场景,events列的每个元素是类字典格式的字符串,但存在格式不完整问题(每个字符串由两个字典片段用逗号分隔),可按以下步骤处理:
步骤1:导入必要模块
import ast from datetime import datetime from dateutil.tz import tzutc # 若tzutc来自pytz,替换为from pytz import utc as tzutc
步骤2:修正字符串格式
原字符串格式为{...},'note':'...',需调整为合法的字典格式{..., 'note':'...'}:
df['events'] = df['events'].str.replace(r'},\'note\'', r',\'note\'', regex=True)
步骤3:转换为字典类型
使用ast.literal_eval解析字符串(它支持解析Python原生类型,包括datetime和时区对象,比json.loads更适配你的场景):
df['events'] = df['events'].apply(ast.literal_eval)
验证转换结果
执行以下代码确认类型是否转换成功:
print(type(df['events'][0])) # 预期输出:<class 'dict'>
内容的提问来源于stack exchange,提问作者deepu2711
相关产品推荐
相关产品推荐

