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

Adding column to pandas DataFrame containing list of other columns' values

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

当前 table:

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

需要table:

    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]

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

一种方法是使用 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]

但总的来说,我会非常谨慎地使用 DataFrames 中的列表,因为它们在列中更难操作,而且您不会获得 integers/floats 带来的许多性能优势。

你可以使用 zip

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