Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/314.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在for循环中创建数据帧?_Python_Pandas_Dataframe - Fatal编程技术网

Python 如何在for循环中创建数据帧?

Python 如何在for循环中创建数据帧?,python,pandas,dataframe,Python,Pandas,Dataframe,我想创建一个数据帧,它由for循环中获得的值组成 columns = ['BIN','Date_of_registration', 'Tax','TaxName','KBK', 'KBKName','Paynum','Paytype', 'EntryType','Writeoffdate', 'Summa'] df = pd.DataFrame(columns=columns) 我有一个循环: for elements in tree.findall('{http

我想创建一个数据帧,它由for循环中获得的值组成

columns = ['BIN','Date_of_registration', 'Tax','TaxName','KBK',
           'KBKName','Paynum','Paytype', 'EntryType','Writeoffdate', 'Summa']
df = pd.DataFrame(columns=columns)
我有一个循环:

    for elements in tree.findall('{http://xmlns.kztc-cits/sign}payment'):

        print("hello")
        tax = elements.find('{http://xmlns.kztc-cits/sign}TaxOrgCode').text
        tax_name_ru = elements.find('{http://xmlns.kztc-cits/sign}NameTaxRu').text
        kbk = elements.find('{http://xmlns.kztc-cits/sign}KBK').text
        kbk_name_ru = elements.find('{http://xmlns.kztc-cits/sign}KBKNameRu').text
        paynum = elements.find('{http://xmlns.kztc-cits/sign}PayNum').text
        paytype = elements.find('{http://xmlns.kztc-cits/sign}PayType').text
        entry_type = elements.find('{http://xmlns.kztc-cits/sign}EntryType').text
        writeoffdate = elements.find('{http://xmlns.kztc-cits/sign}WriteOffDate').text
        summa = elements.find('{http://xmlns.kztc-cits/sign}Summa').text


        print(tax, tax_name_ru, kbk, kbk_name_ru, paynum, paytype, entry_type, writeoffdate, summa)

如何将获取的值附加到最初创建的(用于循环的外部)数据帧?

如果在循环完成后只需要数据帧,一种简单的方法是将数据附加到列表列表中,然后转换为数据帧。警告:您有责任确保列表顺序与列相匹配,因此如果将来更改列,您必须重新定位列表

list_of_rows = []
for elements in tree.findall('{http://xmlns.kztc-cits/sign}payment'):
   list_of_rows.append([
      tax, tax_name_ru, kbk, kbk_name_ru, paynum, paytype,entry_type, writeoffdate, summa])

df = pd.DataFrame(columns=columns, data=list_of_rows)

您好,您可以将每个新值保存在一个列表中(在
数据框
中新建
),然后将此列表附加到
数据框
。看看这个