【问题标题】:How to insert two values into a list Pandas.Dataframe?如何将两个值插入列表 Pandas.Dataframe?
【发布时间】:2021-02-16 19:50:38
【问题描述】:

我有这个问题,我想在列表的开头和结尾插入两个值。

我有这个初始数据框:

source_x     destination_x   Path_Def
10.0.11.100  10.0.12.100     ['10.0.11.10', '10.0.1.2']
10.0.11.100  10.0.13.100     ['10.0.11.10', '10.0.1.6', '10.0.1.18']
10.0.11.100  10.0.14.100     ['10.0.11.10', '10.0.1.6', '10.0.1.18', '10.0.1.26']
10.0.11.100  10.0.22.100     ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.5']
10.0.11.100  10.0.23.100     ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.9']
10.0.11.100  10.0.24.100     ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.18']
10.0.11.100  10.0.25.100     ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.23']

我想要得到的结果是这样的:

source_x     destination_x   Path_Def
10.0.11.100  10.0.12.100     ['10.0.11.100','10.0.11.10', '10.0.1.2', '10.0.12.100']
10.0.11.100  10.0.13.100     ['10.0.11.100','10.0.11.10', '10.0.1.6', '10.0.1.18','10.0.13.100']
10.0.11.100  10.0.14.100     ['10.0.11.100','10.0.11.10', '10.0.1.6', '10.0.1.18', '10.0.1.26','10.0.14.100']
10.0.11.100  10.0.22.100     ['10.0.11.100','10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.5','10.0.22.100']
10.0.11.100  10.0.23.100     ['10.0.11.100','10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.9','10.0.23.100']
....

这是我的代码/数据框:

df = pd.DataFrame({'source_x':[ '10.0.11.100', '10.0.11.100', '10.0.11.100', 
                               '10.0.11.100', '10.0.11.100', '10.0.11.100', '10.0.11.100'], 
                'destination_x':['10.0.12.100', '10.0.13.100', '10.0.14.100', 
                                '10.0.22.100', '10.0.23.100', '10.0.24.100', '10.0.25.100'], 
                'Path_Def':[['10.0.11.10', '10.0.1.2'],
           ['10.0.11.10', '10.0.1.6', '10.0.1.18'],
           ['10.0.11.10', '10.0.1.6', '10.0.1.18', '10.0.1.26'],
           ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.5'],          
           ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.9'],
           ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.18'],
           ['10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.23']]
})

这是怎么做到的?

【问题讨论】:

    标签: python python-3.x pandas list dataframe


    【解决方案1】:

    是的,你可以apply

    df['Path_Def'] = df.apply(lambda x: [x['source_x']] + x['Path_Def'] + [x['destination_x']], 
                              axis=1)
    

    输出:

        source_x     destination_x    Path_Def
    --  -----------  ---------------  ----------------------------------------------------------------------------------------------
     0  10.0.11.100  10.0.12.100      ['10.0.11.100', '10.0.11.10', '10.0.1.2', '10.0.12.100']
     1  10.0.11.100  10.0.13.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.18', '10.0.13.100']
     2  10.0.11.100  10.0.14.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.18', '10.0.1.26', '10.0.14.100']
     3  10.0.11.100  10.0.22.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.5', '10.0.22.100']
     4  10.0.11.100  10.0.23.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.9', '10.0.23.100']
     5  10.0.11.100  10.0.24.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.4.6', '10.0.2.18', '10.0.24.100']
     6  10.0.11.100  10.0.25.100      ['10.0.11.100', '10.0.11.10', '10.0.1.6', '10.0.1.14', '10.0.6.6', '10.0.2.23', '10.0.25.100']
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-03-11
      • 1970-01-01
      • 2014-04-29
      • 1970-01-01
      • 1970-01-01
      • 2019-03-26
      • 1970-01-01
      • 2019-06-28
      相关资源
      最近更新 更多