无法使用Python和Pandas将共病数据转换为表

2024-10-04 01:27:06 发布

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

我试图从一个Kaggle数据集分析共病的发生,作为一个极客的训练练习。我已经从数据集中得到了所有的15种病态。然而,在这一点上,我很难把它变成一个数据帧或类似的东西

我现在的想法是使用病态列表创建一个15 x 15的表。我想用它来创建一个径向收敛图。但是,我不知道如何填写这个表格(或者这是否是正确的方法……)

有没有人能给我一个正确的方向,无论是关于编码或名称的表类型

原始卡格尔https://www.kaggle.com/nih-chest-xrays/data/kernels

我的剧本

#Load data
df = pd.read_csv("Data_Entry_2017.csv")

#Filter data
df_filtered = df.iloc[:, 1:6]
df_filtered = df_filtered.drop(df_filtered.columns[[1,2]],axis=1)


#List findings
df_string = df_filtered['Finding Labels']
df_string.str.strip()

findings = []

for finding in df_string:
    finding = finding.split('|')
    for findingX in finding:
        findings.append(findingX)
findingsSolo = list(set(findings))

#df from findings list
df_findings = pd.DataFrame(columns=findingsSolo, index=findingsSolo)

Tags: columnscsv数据indffordatastring
1条回答
网友
1楼 · 发布于 2024-10-04 01:27:06

对于那些遇到我问题的人,经过深思熟虑,我想出了一个解决办法

df_findings = pd.DataFrame(columns=findings, index=findings).fillna(0)

for finding in df_string:
    finding = finding.split('|')
    finding.sort()
    if len(finding) > 1:
        col_label = finding[0]
        for row_label in finding[1::]:
            df_findings.loc[row_label,col_label] += 1

相关问题 更多 >