如何修改pandas DataFrame中某一列的数据格式?
操作方法
你列中的每个元素都是Python字典对象,直接提取字典中name键对应的值,再转换为字符串类型即可,以下是两种常用实现方案:
方案1:快捷访问(适合数据无脏数据的场景)
执行效率更高,所有元素都是带name键的字典时优先用:
import pandas as pd # 替换dict_col为你实际存储字典的列名,new_col为你要生成的新列名 df['new_col'] = df['dict_col'].str['name'] # 转换为标准字符串类型(对应你说的character类型) df['new_col'] = df['new_col'].astype('string')
方案2:兼容异常值(适合存在脏数据的场景)
如果列中可能存在非字典元素、或者字典无name键的情况,用兼容写法避免报错:
import pandas as pd def extract_name(x): return x.get('name') if isinstance(x, dict) else pd.NA df['new_col'] = df.apply(extract_name, axis=1).astype('string')
说明:转换后的string类型是pandas专属的字符串类型,区别于原来的object混合类型,符合你要求的字符类型定义。
内容的提问来源于stack exchange,提问作者Anas.S
相关产品推荐
相关产品推荐

