我在熊貓資料框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
預期輸出:
LOCATION
Loc_1
Loc_2
Loc_1
Loc_2
Loc_1
Loc_2
Loc_1
uj5u.com熱心網友回復:
采用:
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
uj5u.com熱心網友回復:
這是另一個解決方案:
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)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/467791.html
上一篇:如何洗掉缺少值的列和行?
下一篇:我想做網址
