如何连接两个 Pandas 系列的相应值?
How do I concat corresponding values of two Pandas series?
我有一个包含三列的 PD DF:lon、lat 和 count:
lon lat count
123 456 3
789 012 4
345 678 5
我想连接 lon 和 lat 来制作第四列,这样 df 看起来像:
lon lat count text
123 456 3 '123, 456'
789 012 4 '789, 012'
345 678 5 '345, 678'
我试过:
grouped['text'] = pd.Series([str(grouped['lon'])]).str.cat([str(grouped['lat'])], sep=', ')
但它似乎 return:
lon lat text
123 456 '123, 456', '345, 678', '789, 012'
789 012
345 678
我在这里错过了什么?
df[['lon', 'lat']].astype(str).apply(lambda r: ', '.join(r), axis=1)
将您的整数转换为字符串,以便您可以在 join
中使用它们,然后对每一行应用连接函数(即跨每个行单元格,因此 axis=1
)
另一种方式:
df.astype(str).lon+', '+df.astype(str).lat # astype optional if df already as strings
我有一个包含三列的 PD DF:lon、lat 和 count:
lon lat count
123 456 3
789 012 4
345 678 5
我想连接 lon 和 lat 来制作第四列,这样 df 看起来像:
lon lat count text
123 456 3 '123, 456'
789 012 4 '789, 012'
345 678 5 '345, 678'
我试过:
grouped['text'] = pd.Series([str(grouped['lon'])]).str.cat([str(grouped['lat'])], sep=', ')
但它似乎 return:
lon lat text
123 456 '123, 456', '345, 678', '789, 012'
789 012
345 678
我在这里错过了什么?
df[['lon', 'lat']].astype(str).apply(lambda r: ', '.join(r), axis=1)
将您的整数转换为字符串,以便您可以在 join
中使用它们,然后对每一行应用连接函数(即跨每个行单元格,因此 axis=1
)
另一种方式:
df.astype(str).lon+', '+df.astype(str).lat # astype optional if df already as strings