将列添加到pandas DataFrame,其中包含其他列的列表'值

时间:2015-02-23 19:47:16

标签: python list pandas dataframe

我有一个DataFrame,我需要添加一列。该列需要是两个值的列表:

当前表:

    lat  long  other_value
0   50   50    x
1   60   50    y
2   70   50    z
3   80   50    a

需要的表格:

    lat  long  other_value  new_column
0   50   50    x            [50, 50]
1   60   50    y            [60, 50]
2   70   50    z            [70, 50]
3   80   50    a            [80, 50]

我知道这非常简单,但文档似乎并没有涵盖这一点(至少不是很明显)。

2 个答案:

答案 0 :(得分:5)

一种方法是使用tolist()

>>> df['new_column'] = df[['lat', 'long']].values.tolist()
>>> df
   lat  long other_value new_column
0   50    50           x   [50, 50]
1   60    50           y   [60, 50]
2   70    50           z   [70, 50]
3   80    50           a   [80, 50]

总的来说,我会非常谨慎地使用DataFrame中的列表,因为它们在列中操作起来比较困难,并且你没有获得整数/浮点数带来的许多性能优势。

答案 1 :(得分:1)

你可以使用zip

df['new_column'] = list(zip(df.lat, df.long))