小编Mik*_*ikk的帖子

当查找值不存在或为 null 时 pandas 查找的默认值

我有一个如下所示的数据框:

       parent region
estid               
1         NaN      A
2         NaN      B
3         1.0      A
4         1.0      B
5         2.0      C
6         2.0      C
7         8.0      A
Run Code Online (Sandbox Code Playgroud)

我想要的是创建一个包含 的额外列regionparent默认为None如果在数据中找不到父级,例如:

       parent region parent_region
estid                             
1         NaN      A          None
2         NaN      B          None
3         1.0      A             A
4         1.0      B             A
5         2.0      C             B
6         2.0      C             B
7         8.0      A          None
Run Code Online (Sandbox Code Playgroud)

以下返回正确结果:

df["parent_region"] = df.apply(lambda x : df.loc[x["parent"]]["region"] if not math.isnan(x["parent"]) and x["parent"] in df.index else …
Run Code Online (Sandbox Code Playgroud)

python lookup pandas

3
推荐指数
1
解决办法
3875
查看次数

urljoin当绝对路径没有前导斜杠时

http://www.gilacountyaz.gov/government/assessor/index.php这样的网站有一堆内部链接应该是绝对路径,但没有前导斜杠.使用urlparse.urljoin结果解析它们时如下:

>>> import urlparse
>>> a = "http://www.gilacountyaz.gov/government/assessor/index.php"
>>> b = "government/assessor/address_change.php"
>>> urlparse.urljoin(a, b)
'http://www.gilacountyaz.gov/government/assessor/government/assessor/address_change.php'
Run Code Online (Sandbox Code Playgroud)

这会导致Web爬网程序没有意识到它已经访问过页面,并且可能存在无限循环.Firefox和Chrome能够发现问题并正确解析

http://www.gilacountyaz.gov/government/assessor/address_change.php
Run Code Online (Sandbox Code Playgroud)

有没有办法在Python中做同样的事情?请注意,假设始终使用前导斜杠不起作用,因为我们可能正在处理真正的相对路径.

python url url-parsing urlparse

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

标签 统计

python ×2

lookup ×1

pandas ×1

url ×1

url-parsing ×1

urlparse ×1