我有一个data frame类似下面的内容,并希望将度、分、秒格式的Latitude和Longitude列转换为十进制度数 - 正确半球的负数。有没有简单的方法来做到这一点?
Parent Company CPO PKO Latitude Longitude
Incasi Raya X 0°51'56.29"S 101°26'46.29"E
Incasi Raya X 1°23'39.29"S 101°35'30.45"E
Incasi Raya X 0°19'56.63"N 99°22'56.36"E
Incasi Raya X 0°21'45.91"N 99°37'59.68"E
Incasi Raya X 1°41'6.56"S 102°14'7.68"E
Incasi Raya X 1°15'2.13"S 101°34'30.38"E
Incasi Raya X 2°19'44.26"S 100°59'34.55"E
Musim Mas X 1°44'55.94"N 101°22'15.94"E
Run Code Online (Sandbox Code Playgroud)
例如0°51'56.29"S将转换为-0.8656361
python geolocation coordinates coordinate-transformation pandas
下面是pandas dataframe我的一个子集,我试图根据某些条件删除多行.
code1 code2 grp1 grp2 dist_km
0 M001 M002 AAA AAA 112
1 M001 M003 AAA IHH 275
2 M002 M005 AAA XXY 150
3 M002 M004 AAA AAA 65
4 M003 M443 IHH GRR 50
5 M003 M667 IHH IHH 647
6 M003 M664 IHH FFG 336
Run Code Online (Sandbox Code Playgroud)
所以我只想保持行的位置grp1与grp2每个行的相同,code1但只有dist_km那个特定的最小值code1.
对于上面的示例,仅保留以下行:
code1 code2 grp1 grp2 dist_km
0 M001 M002 AAA AAA 112
3 M002 M004 AAA AAA 65 …Run Code Online (Sandbox Code Playgroud) 我正在从仪表板中抓取一些数据,并坚持尝试将多个数据中的一些数据div classes放入 Pandas 数据框中。我应该如何尝试转换这样的东西:
[<div class="map-item" data-companyname="Apical Group" data-country="INDONESIA" data-district="Jakarta Utara" data-latitude="-6.099396000" data-longitude="106.951478000" data-millname="AAJ Marunda" data-province="Jakarta" data-report="http://naturalhealthytreat.com/sites/neste-daemeter.com/files/AAJ_Marunda.pdf" id="map_item_4645">AAJ Marunda</div>,
<div class="map-item" data-companyname="Apical Group" data-country="INDONESIA" data-district="Lubuk Gaung" data-latitude="1.754005000" data-longitude="101.363532000" data-millname="Sari Dumai Sejati" data-province="Riau" data-report="http://naturalhealthytreat.com/sites/neste-daemeter.com/files/Sari_Dumai_Sejati.pdf" id="map_item_4646">Sari Dumai Sejati</div>,
<div class="map-item" data-companyname="Kutai Refinery Nusantara " data-country="INDONESIA" data-district="Balikpapan" data-latitude="-1.179099000" data-longitude="116.788274000" data-millname="Kutai Refinery Nusantara " data-province="Penajam Paser Utara" data-report="http://naturalhealthytreat.com/sites/neste-daemeter.com/files/Kutai_Refinery_Nusantara_.pdf" id="map_item_4647">Kutai Refinery Nusantara </div>]
Run Code Online (Sandbox Code Playgroud)
变成这样的数据框:
no companyname country district latitude longitude millname province report
1 Apical Group INDONESIA Jakarta Utara -6.099396 106.951478 AAJ Marunda …Run Code Online (Sandbox Code Playgroud) 下面是pandas data frame我的一部分
index name_matches dist_matches
38 PO1000000345 M-00346 M-00346
39 PO1000000352 M-00804
40 PO1000000354 M-00196 M-00196
41 PO1000000355 M-00514 M-00514
42 PO1000000382 M-00353,M-00354 M-00354
43 PO1000000411
44 PO1000000451
45 PO1000000512 M-00680
46 PO1000000530 M-00089
47 PO1000000531 M-00087 M-00087
48 PO1000000553 M-00917,M-00920,M-00922 M-00920
Run Code Online (Sandbox Code Playgroud)
我试图得到一个新的列(comb_matches),它拉出name_matches和dist_matches列中的匹配值.有时,列中将有一个或多个值以逗号分隔.我希望获得的输出示例如下所示.
index name_matches dist_matches comb_matches
38 PO1000000345 M-00346 M-00346 M-00346
39 PO1000000352 M-00804
40 PO1000000354 M-00196 M-00196 M-00196
41 PO1000000355 M-00514 M-00514 M-00514
42 PO1000000382 M-00353,M-00354 M-00354 M-00354
43 …Run Code Online (Sandbox Code Playgroud) python的新增功能,在尝试设置一些代码以从网页列表中抓取数据时会遇到错误。
这些页面之一的链接是-https://rspo.org/members/2.htm ,我正在尝试获取诸如“会员编号”,“类别”,“部门”,“国家”,等等,然后将其全部导出到电子表格中。
码:
from bs4 import BeautifulSoup as soup
from urllib.request import urlopen
import requests
pages = []
for i in range(1, 10):
url = 'https://rspo.org/members/' + str(i)
pages.append(url)
for item in pages:
page = requests.get(item)
soup = soup(page.text, 'html.parser')
member = soup.find_all("span", {"class":"current"})
Run Code Online (Sandbox Code Playgroud)
我得到以下错误:
追溯(最近一次通话):
文件“”,第3行,在汤=汤中(page.text,'html.parser')
TypeError:“ ResultSet”对象不可调用
不知道为什么我得到这个错误。我尝试查看Stack Overflow上的其他页面,但似乎没有任何类似的错误出现在上面。