在Python中,如何从数据框中保存为列表的数据中删除方括号

2024-06-16 14:14:19 发布

您现在位置:Python中文网/ 问答频道 /正文

数据是这样的,它在一个数据框中

    PatientId   Payor
0   PAT10000    [Cash, Britam]
1   PAT10001    [Madison, Cash]
2   PAT10002    [Cash]
3   PAT10003    [Cash, Madison, Resolution]
4   PAT10004    [CIC Corporate, Cash]

我想删除方括号并过滤所有至少使用某种付款方式(如麦迪逊)的患者,然后获取他们的ID。请帮助


Tags: 数据corporatecashresolution方括号madisoncicpatientid
2条回答

这将生成一个元组列表(id、付款人)。(df是数据帧)

payment = 'Madison'
ids = [(id, df.Payor[i][1:-1]) for i, id in enumerate(df.PatientId) if payment in df.Payor[i]]

比如说,您的数据帧变量初始化为“df”,删除方括号后,您希望筛选“付款人”列下包含“Madison”的所有元素

df.replace({'[':''}, regex = True)
df.replace({']':''}, regex = True)

filteredDf = df.loc[df['Payor'].str.contains("Madison")]
print(filteredDf)

相关问题 更多 >