2017-07-20 175 views
0

使用Python 3,我試圖用一個URL放入一個URL中,該URL已放入一個Dataframe中,並使用732行相同的URL 。這是網址:http://dbarchive.biosciencedbc.jp/kyushu-u/hg19/eachData/bed20/**ID**.bed根據另一個數據框中的另一列修改一個數據框中的列(Pandas)

我有另一個Dataframe,其中包含732行不同的實驗ID。我希望能夠用每個實驗ID替換URL中的「ID」這個單詞,這樣我就可以獲得一個更新的Dataframe,並且每一個需要將.bed文件下載到Python的732個URL。

作爲一個備註 - 從那裏,有沒有可能下載.bed文件到Python,而無需先通過我的瀏覽器保存它,然後將其上傳到Python?

回答

0

這看似簡單,可與(簡單)df.apply來完成:

設置:

import random 
url = 'http://.../bed20/%s.bed' 
df1 = pd.DataFrame({'ID': [str(random.randint(0, 100)) for _ in range(20)]}) 

In [674]: df1['ID'].apply(lambda x: url %x).head() 
Out[674]: 
0 http://.../bed20/58.bed 
1 http://.../bed20/92.bed 
2 http://.../bed20/63.bed 
3 http://.../bed20/46.bed 
4 http://.../bed20/63.bed 
Name: ID, dtype: object 

換成您自己的網址,ID dataframes。

+0

實際的實驗ID是由數字和字母組成,不能是隨機的。我怎麼做? – Lauren

+0

@Lauren無論你有什麼ID,它的工作方式都是一樣的。我無法解決你的問題,因爲我沒有你的數據。但是我已經告訴你如何解決你的問題。 –

0

我會使用applyformat

fmt = 'http://dbarchive.biosciencedbc.jp/kyushu-u/hg19/eachData/bed20/{}.bed' 
df.ID.apply(fmt.format) 
+0

如何從我的其他數據框中插入ID?請記住,有732個唯一ID,因此我必須創建732個唯一的網址? – Lauren

相關問題