【发布时间】:2019-05-01 04:31:19
【问题描述】:
我正在做一个机器学习项目,我现在在数据处理部分。无论如何,我有两个数据框,如图所示 -
Final_Lat Final_Lot Label
0 37.23140 -121.75853 1.0
1 37.34883 -121.88834 1.0
2 37.31835 -121.85878 1.0
3 37.26027 -121.87655 1.0
4 37.30793 -121.79955 1.0
5 37.24895 -121.87519 1.0
TestLat TestLot
0 37.20000 -122.00000
1 37.20000 -121.99999
2 37.20000 -121.99998
3 37.20000 -121.99997
4 37.20000 -121.99996
5 37.20000 -121.99995
6 37.20000 -121.99994
7 37.20000 -121.99993
我想要的是将 1 的标签移动到出现在同一个列表中的坐标,看起来像这样。它还应该包含来自第二个数据帧的信息。
Final_Lat Final_Lot Label
0 37.23140 -121.75853 1.0
1 37.34883 -121.88834 1.0
2 37.31835 -121.85878 1.0
3 37.20000 -122.00000 nan
4 37.20000 -121.99999 nan
2 37.20000 -121.99998 nan
我累了
left = pd.DataFrame({'Final_Lat': Trian['Lat'].apply(float),
'Final_Lot': Trian['Lot'].apply(float),
'Label': Trian['L'].apply(float),})
right = pd.DataFrame({'Final_Lat': Fullcoordinate['TestLat'].apply(float),
'Final_Lot': Fullcoordinate['TestLot'].apply(float)})
Final_result = pd.merge(left, right, how='right',on=['Final_Lot','Final_Lat'])
但它没有用。我将不胜感激!
right = pd.DataFrame({'Final_Lat': Fullcoordinate['TestLat'](lambda x: pd.to_numeric(x, errors='coerce')).mul(1000).fillna(0).astype(int) ,
'Final_Lot': Fullcoordinate['TestLot'](lambda x: pd.to_numeric(x, errors='coerce')).mul(1000).fillna(0).astype(int) })
【问题讨论】:
-
你能解释一下你的输出吗?
-
是的!基本上我正在做一个犯罪预测项目,Test Lat 和 Lot 是一个区域内所有可能的坐标组合,Final Lat 和 Lot 是之前发生犯罪的坐标。我正在尝试将这两个列表合并在一起,以便将发生犯罪的坐标列为 1。我希望这很清楚...