基本上我有一個csv,裏面充滿了緯度和經度數據,我將其添加到數據框中的兩個單獨列中。然後用它來創建一個包含所有數據的地球儀。除了數據沒有正確繪製,我不知道爲什麼。底圖散點圖不能正確繪製
讀入數據文件並將其添加到csv。
data_col = ['IP', 'Reliability', 'Risk', 'Type', 'Country', 'Locale', 'Co-Ords', '?']
data = pd.read_csv('reputation.data', sep='#', names=data_col)
以聯合ORDS列,並將其分割到兩個不同的列
data['Co-Ords'] = data['Co-Ords'].str.replace('ut: ','')
data['lat'] = data['Co-Ords'].apply(lambda x: x.split(',')[0])
data['lon'] = data['Co-Ords'].apply(lambda x: x.split(',')[1])
實施數據底圖;
m1 = Basemap(projection='ortho', lon_0=4,lat_0=46, resolution='l')
fig=plt.figure(figsize=(12, 6))
m1.drawmapboundary(fill_color='black')
m1.fillcontinents(color='white',lake_color='black')
m1.drawcoastlines()
m1.drawcountries()
x=(data['lat']).as_matrix()
y=(data['lon']).as_matrix()
m1.scatter(x,y,cmap=cm.cool,marker="*", color='r', alpha=0.7,
latlon=True, zorder=10)
plt.title("IP Addresses on the Globe")
plt.show()
它看起來像如下: Globe
欣賞的幫助。
編輯:我是從
IP Reliability Risk Type Country Locale Co-Ords ? lat lon
46.4.123.15 4 2 Malicious DE NaN 51.0,9.0 3 51 9
116.117.253.243 3 2 Scanning CN Baotou 40.6521987915,109.82219696 11 40.6521987915 109.82219696
123.59.59.89 4 2 Malicious CN Beijing 39.9289016724,116.388298035 3 39.9289016724 116.388298035
123.59.71.2 4 2 Malicious CN Beijing 39.9289016724,116.388298035 3 39.9289016724 116.388298035
123.59.149.74 4 2 Malicious CN Beijing 39.9289016724,116.388298035 3 39.9289016724 116.388298035
你能分享代碼段,5-10行數據,您在哪裏註釋數據點預計將出現在哪個國家/地區? –
[是啊,它看起來像下面](http://i.imgur.com/9Cv0PYE.png) –
謝謝,你可以追加輸出作爲文本的問題,這樣很容易複製?你可以執行'print(data.head())',並在這裏複製它。此外,您是否繪製了這個子集以確認這些點在地圖上也放錯了位置? –