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