将列添加到包含其他列值列表的 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))
我有一个 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))