我有一个Pandas数据框,我想将“lat”和“long”列组合成一个元组。
<class 'pandas.core.frame.DataFrame'>
Int64Index: 205482 entries, 0 to 209018
Data columns:
Month 205482 non-null values
Reported by 205482 non-null values
Falls within 205482 non-null values
Easting 205482 non-null values
Northing 205482 non-null values
Location 205482 non-null values
Crime type 205482 non-null values
long 205482 non-null values
lat 205482 non-null values
dtypes: float64(4), object(5)
我试图使用的代码是:
def merge_two_cols(series):
return (series['lat'], series['long'])
sample['lat_long'] = sample.apply(merge_two_cols, axis=1)
但是,这返回了以下错误:
---------------------------------------------------------------------------
AssertionError Traceback (most recent call last)
<ipython-input-261-e752e52a96e6> in <module>()
2 return (series['lat'], series['long'])
3
----> 4 sample['lat_long'] = sample.apply(merge_two_cols, axis=1)
5
。。。
AssertionError: Block shape incompatible with manager
我怎样才能解决这个问题?
Pandas使用^{} 方法来执行以下操作:
适应
zip
。它在处理列数据时非常有用。它比使用
apply
或map
简单快捷。像np.dstack
这样的东西的速度是zip
的两倍,但是不会给你元组。相关问题 更多 >
编程相关推荐