熊猫不会在循环内添加行

时间:2020-05-28 16:26:59

标签: python pandas

我有以下循环:

lines = []

for dicom in mydicoms:

    dcm1 = pydicom.dcmread(dicom)


    identity = dcm1.PatientID
    age = dcm1.PatientAge
    sex = dcm1.PatientSex
    modality = dcm1.Modality
    finding = dcm1.StudyDescription
    rows = dcm1.Rows
    columns = dcm1.Columns



    new_row = {'id':identity, 'age':age, 'sex':sex, 'modality':modality, 'finding':finding, 'rows':rows, 'columns':columns}
    df.append(new_row, ignore_index = True)


    lines.append(new_row)

以后我检查df时为空。

当我从循环中复制并粘贴部分代码或在另一个Jupyter单元中执行以下任何操作时:

df.append(new_row, ignore_index=True)

df.append(lines, ignore_index = True)

它正确地附加了它,只是不在循环内。

我想念什么?

1 个答案:

答案 0 :(得分:1)

anky所述,您应将其分配回df变量。

这是您的代码,其中有更正:

lines = []

for dicom in mydicoms:

    dcm1 = pydicom.dcmread(dicom)


    identity = dcm1.PatientID
    age = dcm1.PatientAge
    sex = dcm1.PatientSex
    modality = dcm1.Modality
    finding = dcm1.StudyDescription
    rows = dcm1.Rows
    columns = dcm1.Columns



    new_row = {'id':identity, 'age':age, 'sex':sex, 'modality':modality, 'finding':finding, 'rows':rows, 'columns':columns}
    df = df.append(new_row, ignore_index = True)


    lines.append(new_row)