我有一个Pandas数据框,我想将“lat”和“long”列组合起来形成一个元组
<;类“pandas.core.frame.DataFrame”>;
INT64索引:205482个条目,0到209018
数据列:
月份205482非空值
由205482个非空值报告
在205482个非空值范围内
Easting 205482非空值
北距205482非空值
位置205482非空值
犯罪类型205482非空值
长205482非空值
lat 205482非空值
数据类型:float64(4),object(5)
我尝试使用的代码是:
def合并两列(系列):
返回(系列['lat'],系列['long'])
sample['lat\u long']=sample.apply(合并两列,轴=1)
但是,这返回了以下错误:
---------------------------------------------------------------------------
AssertionError回溯(上次最近的调用)
<;ipython-input-261-e752e52a96e6>;在<;模块>;()
2返回(系列['lat'],系列['long'])
3.
----&燃气轮机;4样本['lat\u long']=sample.apply(合并两列,轴=1)
5.
断言错误:块形状与管理器不兼容
我怎样才能解决这个问题
熟悉zip。它在处理列数据时非常方便
df['new\u col']=list(zip(df.lat,df.long))
它比使用apply或map更简单、更快。类似于np.dstack的速度是zip的两倍,但不会给出元组