繁体   English   中英

应用返回列表的python函数并写入数据框的列

[英]Applying a python function that returns a list and writing to columns of dataframe

有没有一种方法可以将函数应用于pandas数据框,该函数为应用到的每一行返回一个列表,然后获取该列表并将每个项目放入该现有数据框的新列中?

例如,对于给定的行,我具有的函数返回以下长度为9的列表

    [u'Republic Of Congo Permanent Mission to the United Nations',
    u'Embassy / Consulate',
    u'10021',
    u'Permanent Mission of Germany to the United Nations',
    u'Embassy / Consulate',
    u'10021',
    u'Permanent Mission of Kenya to the United Nations',
    u'Embassy / Consulate',
     u'10021']

然后,我想将这些值存储在标记为的列中:

     colnames= ['prop1_name', 'prop1_type', 'prop1_zip',
        'prop2_name', 'prop2_type', 'prop2_zip',
        'prop3_name', 'prop3_type', 'prop3_zip'] 

现在,apply函数的返回是一个列表列表,每个内部列表都是一个9项列表,如上所示。 我可以将响应放入如下所示的新数据框中,但是我还没有弄清楚如何使apply函数为每次返回写入每个新行,或者如何以正确的形式获取列表。

   df_new = pd.DataFrame(index=range(0,sample_size), columns=colnames)

这应该工作

df_new.apply(lambda r: pd.Series(function_taking_row(r), index=colnames), axis=1)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM