Python 使用pandas将列中的值格式化为字符串

Python 使用pandas将列中的值格式化为字符串,python,string,pandas,dataframe,Python,String,Pandas,Dataframe,使用Python3,我试图用732行相同的URL替换我放在数据框中的URL中的某个单词。这是URL:http://dbarchive.biosciencedbc.jp/kyushu-u/hg19/eachData/bed20/**ID**.bed 我有另一个数据帧,它包含732行不同的实验ID。我希望能够将URL中的单词“ID”替换为每个实验ID,这样我就可以用732个URL中的每一个获得更新的数据帧,我需要将.bed文件下载到Python中 作为旁注-从那里,是否可以将.bed文件下载到Pyt

使用Python3,我试图用732行相同的URL替换我放在数据框中的URL中的某个单词。这是URL:
http://dbarchive.biosciencedbc.jp/kyushu-u/hg19/eachData/bed20/**ID**.bed

我有另一个数据帧,它包含732行不同的实验ID。我希望能够将URL中的单词“ID”替换为每个实验ID,这样我就可以用732个URL中的每一个获得更新的数据帧,我需要将.bed文件下载到Python中


作为旁注-从那里,是否可以将.bed文件下载到Python中,而不必首先通过我的浏览器保存它,然后将其上载到Python中?

使用
map
str.format

import random

# Setup
url = 'http://.../bed20/{}.bed' 

np.random.seed(0)
df = pd.DataFrame({'ID': np.random.choice(100, 5).astype(str)})   

替换为您自己的URL和ID数据帧


或者,使用列表理解(在性能方面应该大致相同)


我会使用
apply
format

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

实际的实验ID由数字和字母组成,不能随机化。我该怎么做?@Lauren不管你有什么身份证都是一样的。我不能帮你解决你的问题,因为我没有你的数据。但是我已经向您展示了如何解决您的问题。但是我如何从其他数据帧插入ID?记住有732个唯一的ID,所以我必须创建732个唯一的URL?
[url.format(x) for x in df['ID']]    
# ['http://.../bed20/44.bed', 
#  'http://.../bed20/47.bed', 
#  'http://.../bed20/64.bed', 
#  'http://.../bed20/67.bed', 
#  'http://.../bed20/67.bed']

df.assign(ID=[url.format(x) for x in df['ID']])

                        ID
0  http://.../bed20/44.bed
1  http://.../bed20/47.bed
2  http://.../bed20/64.bed
3  http://.../bed20/67.bed
4  http://.../bed20/67.bed
fmt = 'http://dbarchive.biosciencedbc.jp/kyushu-u/hg19/eachData/bed20/{}.bed'
df.ID.apply(fmt.format)