小编Fun*_*keh的帖子

将带有度分秒 (DMS) 坐标的熊猫数据框转换为十进制度数

我有一个data frame类似下面的内容,并希望将度、分、秒格式的LatitudeLongitude列转换为十进制度数 - 正确半球的负数。有没有简单的方法来做到这一点?

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

8
推荐指数
1
解决办法
5624
查看次数

熊猫:根据条件删除多行

下面是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)

所以我只想保持行的位置grp1grp2每个行的相同,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)

python pandas pandas-groupby

4
推荐指数
1
解决办法
101
查看次数

将多个 div 类中的数据抓取到 Pandas 数据框中

我正在从仪表板中抓取一些数据,并坚持尝试将多个数据中的一些数据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)

python beautifulsoup pandas

2
推荐指数
1
解决办法
1385
查看次数

使用pandas中其他两列的匹配项创建新列

下面是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_matchesdist_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 pandas

2
推荐指数
1
解决办法
46
查看次数

TypeError:“ ResultSet”对象不可调用-带有BeautifulSoup的Python

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上的其他页面,但似乎没有任何类似的错误出现在上面。

html python beautifulsoup

-1
推荐指数
1
解决办法
1715
查看次数