0
我有一堆存储在数据框中的URL,我通过url解析模块清理它们。那我遇到的问题是,“siteClean”字段是应该用清洁的网址是更新整个列而不是单个细胞更新...通过for循环更新熊猫数据帧
下面是代码:
results = resultsX.copy(deep = True)
results = results.reset_index(drop = True)
results['siteClean'] = ''
from urlparse import urlsplit
import re
for row in results.iterrows():
#print row[1]
url = row[1][1]
if not re.match(r'http(s?)\:', url):
url = 'http://' + url
parsed = urlsplit(url)
host = parsed.netloc
#print host
#row[1][1] = host
#results[row][1] = host
results['siteClean'] = host
print results
'结果[“siteClean”]'返回你的数据帧的一系列这就是为什么它更新了整列,倒不如先建立自己的清洁列表并从中 – EdChum
创建一个数据帧是的,我意识到这可能是完成此项目的最佳解决方案......但有没有办法更新for循环中的数据框? –
您需要[index](http://pandas.pydata.org/pandas-docs/stable/indexing.html),这是一个预先存在的数据框,还是您从头开始填充和创建,您可以编制索引使用整数或标签为基础,如果你是从头开始做这件事,那么当你附加每个条目时,你需要跟踪行号,例如'results.iloc [row] ['siteClean'] = host'或类似的东西。如果你首先填充列表,如果你有很多url,尽管那么它可能会很慢,但它会更简单和容易理解 – EdChum