[英]How to combine two columns in pandas dataframe and set values to them?
我在 pandas dataframe Latitude和Longitude中有两列。 我正在尝试将两个组合在单列LOCATION中。 如果我们看到数据,则只有两个位置存在。
输入:
LATITUDE LONGITUDE
29.14290089 -100.73896686
29.142901 -100.738967
29.14290089 -100.73896686
29.142901 -100.738967
29.14290089 -100.73896686
29.142901 -100.738967
29.14290089 -100.73896686
预计 Output:
LOCATION
Loc_1
Loc_2
Loc_1
Loc_2
Loc_1
Loc_2
Loc_1
利用:
df['LOCATION'] = pd.factorize(df[['LATITUDE','LONGITUDE']].apply(tuple, 1))[0] + 1
df['LOCATION'] = 'Loc_' + df['LOCATION'].astype(str)
print (df)
LATITUDE LONGITUDE LOCATION
0 29.142901 -100.738967 Loc_1
1 29.142901 -100.738967 Loc_2
2 29.142901 -100.738967 Loc_1
3 29.142901 -100.738967 Loc_2
4 29.142901 -100.738967 Loc_1
5 29.142901 -100.738967 Loc_2
6 29.142901 -100.738967 Loc_1
这是另一个解决方案:
locs = {(29.14290089, -100.73896686) : "Loc_1",
(29.142901, -100.738967) : "Loc_2"}
out = df.apply(tuple, axis=1).map(locs)
print(out)
0 Loc_1
1 Loc_2
2 Loc_1
3 Loc_2
4 Loc_1
5 Loc_2
6 Loc_1
dtype: object
如果您希望它作为df
中的新列,只需执行以下操作:
df['LOCATION'] = df.apply(tuple, axis=1).map(locs)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.