【问题标题】:Python Loop replace a part of stringPython循环替换字符串的一部分
【发布时间】:2020-12-18 14:50:16
【问题描述】:

我正在使用 Jupyter Notebook 制作一个项目。我在这里创建了一个过于简单的示例。

我有一个网址,可以说

url=www.instagram.com/alex

我需要通过在名称旁边的列中添加urlreplace 函数来创建数据库 我有一个熊猫数据框

Names
John
Cherry 
nancy

使用函数想要的结果

Names    url
John     wwww.instagram.com/john
Cherry   www.instagram.com/cherry
nancy    www.instagram.com/nancy

我正在做的是:

data["url"] = url
w = data.names.values
def replace()
   for i in w,data.iteritems:
      for j in range(len(data.url),data.iteritems:
         data["url"]=url.replace("alex",i(j))
         return data

它抛出一个错误,我不能使用range 作为索引...所以我尝试了很多使用整数的方法,但它仍然没有给我结果,直到我手动输入 i(0) 或 i(1 ) 或 i(3) 如果我尝试为类似的行添加另一个

for w in range(len(data.url):

然后做 i(w).. 然后它将所有内容更改为 i(0),在此示例中为 www.instagram.com/john

我为我的问题使用了过于简化的示例,在我的项目中创建函数非常重要,因为 url 太大并且名称是输入(用户选择)所以这就是我需要创建函数的原因

【问题讨论】:

  • data["url"] = "www.instagram.com/" + data["Names"].str.lower() ...这行不通,因为我的原始网址是这样的.... www.instagram.com/abshcuenduejsjdj#ALEX20ndj/jsjejjsjdjdb/jejehudbehdj

标签: python pandas function jupyter-notebook


【解决方案1】:

请检查以下内容:

df['url'] = df['Name'].apply(lambda x : url.replace('alex',x.lower()))

【讨论】:

  • x.lower() 而不仅仅是x
【解决方案2】:
data["url"] = "www.instagram.com/" + data["Names"].str.lower()

【讨论】:

  • 感谢您的回复......这无法正常工作,因为我的原始网址是这样的...... www.instagram.com/abshcuenduejsjdj#ALEX20ndj/jsjejjsjdjdb/jejehudbehd
猜你喜欢
  • 1970-01-01
  • 2019-07-22
  • 2020-09-08
  • 1970-01-01
  • 2018-09-20
  • 2012-06-06
  • 2015-04-17
  • 1970-01-01
  • 2022-07-18
相关资源
最近更新 更多