首页 > 解决方案 > Empyt Pandas 数据框

问题描述

import xml.etree.ElementTree as ET
import numpy as np
import pandas as pd

df = pd.DataFrame(columns= ["ImageID","xmin","ymin","xmax","ymax"])
mytree = ET.parse('C:/Users/ABRA/Desktop/MyHD/mov_021_178867.xml')
myroot = mytree.getroot()

temp = []
image_id = myroot.find('filename').text

for number_of_objects in myroot.findall('object'):
    for object in number_of_objects:
        for bbox in object:
            #print(bx.text)
            temp.append(bbox.text)
            #print(temp)
            if(len(temp) == 4):
                print(temp)
                new_row = pd.DataFrame({'ImageID': [image_id],'xmin': [temp[0]],'ymin',[temp[1]],'xmax':[temp[2]],'ymax':[temp[3]]})
                #print(new_row)
                df.append(new_row)
                temp = []

print(df)

当我在 if 语句中查看 temp 时,它显示真实值,当我查看 new_row 时,它显示我想要的真实值。但在最后,df 数据框显示的是空值。

标签: pythonpandasdataframe

解决方案


我发现了我的错误。我不得不写:

df = df.append(new_row)

它奏效了。


推荐阅读