如何获取数据框中的列的值。
如何获取数据框中的列的值。
我有一个数据框列,其中一行包含数据:
bloodtype [{'id': 35, 'type': 'typeO'}]
该列还包括其他行中的不同血型:A、B、AB和O。
我运行了:
type(df.blood_type)
它返回了\'pandas.core.series.Series\'
df['blood_type'].str.split(":")[0][2]
它返回了\"\'typeO\'}]\"
我该如何只获得typeO、typeA、typeAB
,以便将它们转换为不同的类。谢谢
admin 更改状态以发布 2023年5月21日
from ast import literal_eval df['type'] = df['blood_type'].apply(lambda x: literal_eval(x[0]).type)
另一种解决方案:
#a more robust solution to incase the series has unexpected values def extract_type(x): try: if type(literal_eval(x)) == 'dict': return literal_eval(x) else: return None except ValueError: return None df['type'] = df['blood_type'].apply(extract_type)
编辑:在提取类型之前,使用ast.literal_eval将字典的字符串表示转换为字典。