【问题标题】:How to create a dataframe in the for loop?如何在 for 循环中创建数据框?
【发布时间】:2021-02-12 17:27:31
【问题描述】:

我想创建一个数据框,其中包含在 for 循环中获得的值。

columns = ['BIN','Date_of_registration', 'Tax','TaxName','KBK',
           'KBKName','Paynum','Paytype', 'EntryType','Writeoffdate', 'Summa']
df = pd.DataFrame(columns=columns)

我有这个 for 循环:

    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)

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

【问题讨论】:

标签: python pandas dataframe


【解决方案1】:

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

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)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-15
    • 2022-01-18
    • 1970-01-01
    • 2022-11-30
    • 2021-09-03
    • 1970-01-01
    • 2019-12-07
    • 2021-08-01
    相关资源
    最近更新 更多