连接两列并获取新列

2024-04-30 13:44:25 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两种颜色

  Latitude       Longitude    
  35.827085869   -95.67496156

两者都是浮点数,我想把它转换成

 Latitude       Longitude       final
 35.827085869   -95.67496156    [35.827085869,-95.67496156]

我怎样才能做到这一点?你知道吗


Tags: 颜色final浮点数latitudelongitude
3条回答

将两列转换为列表列表,然后将其分配给新列。你知道吗

# Pandas < 0.24
# df['final'] = df[['Latitude', 'Longitude']].values.tolist()
# Pandas >= 0.24
df['final'] = df[['Latitude', 'Longitude']].to_numpy().tolist()
df

    Latitude  Longitude                         final
0  35.827086 -95.674962  [35.827085869, -95.67496156]

请注意,它们要成为列表,如果要分配NumPy数组,则不能将它们作为单个列重新分配。你知道吗


另一种选择是使用agg进行缩减:

df['final'] = df[['Latitude', 'Longitude']].agg(list, axis=1)
df

    Latitude  Longitude                         final
0  35.827086 -95.674962  [35.827085869, -95.67496156]

再来一个使用zip

df['final']=list(zip(df.Latitude,df.Longitude))

也可以使用apply

df['final'] = df[['Latitude', 'Longitude']].apply(list, axis=1)

   Latitude              ...                                      final
0  35.827086              ...               [35.827085869, -95.67496156]

相关问题 更多 >