我在邮政编码的数据框列上使用了map函数,以创建新的元组系列,然后可以将其操纵为新的数据框。def scrape_data(series_data): #A bit of code to create the URL goes here r = requests.get(url) root_content = r.content root = lxml.html.fromstring(root_content) address = root.cssselect(".lr_results ul") for place in address: address_property = place.cssselect("li a")[0].text house_type = place.cssselect("li")[1].text house_sell_price = place.cssselect("li")[2].text house_sell_date = place.cssselect("li")[3].text return address_property, house_type, house_sell_price, house_sell_datedf = postcode_subset['Postcode'].map(scrape_data)虽然在结果页面上只有一个属性的地方可以使用,但是无法为多个属性创建一个元组。我想做的是遍历一系列页面,然后将该内容添加到数据框中。我知道Pandas可以将嵌套的dict转换为数据帧,但确实很难使其工作。我试图使用“如何制作嵌套字典并动态附加数据”中的答案,但是我迷路了。谁能帮助我指出正确的方向?
2 回答
不负相思意
TA贡献1777条经验 获得超10个赞
为了使代码正常工作,我最终将Andy Hayden的解决方案重新设计为:
listed = []
for place in address:
results = [{'postcode':postcode_bit,'address_ property': place.cssselect("li a")[0].text,
'house_type': place.cssselect("li")[1].text,
'house_sell_price': place.cssselect("li")[2].text,
'house_sell_date': place.cssselect("li")[3].text}]
listed.extend(results)
return listed
至少我对Python数据结构现在的工作方式了解得更多。
添加回答
举报
0/150
提交
取消