我有一个列keys
的熊猫数据框,我需要从每个字符串中删除最后一个字符。
id keys
123 "https://www.cosmopolitan.com/entertainment/tv/a46533/"
124 "https://www.bazaar.com/entertainment/tv/a46533/"
当前,我正在尝试创建一个函数,该函数将返回干净的字符串,并且稍后将其应用于df。我尝试了以下方法:
url_test = "https://www.cosmopolitan.com/entertainment/tv/"
def clean_string(url):
for string in url:
new_string = string[:-1]
return new_string
clean_string(url_test)
它返回一个空字符串。我希望它返回"url_test = "https://www.cosmopolitan.com/entertainment/tv"
答案 0 :(得分:1)
只需删除for循环,即可传递一个字符串,然后遍历这些字符,并返回不包含第一个字符的第一个字符,因此返回一个空字符串。
def clean_string(url):
return url[:-1]
尽管我不确定您是否仍然需要一个函数来执行此操作。
如果您只是想删除斜杠,则可能更喜欢使用rstrip
return url.rstrip("/")
答案 1 :(得分:0)
答案 2 :(得分:0)
如果您的列key
包含所有str
类型的值,并且您想对该列应用(或更确切地说,map
)该函数,则可以简单地使用{{ 1}}(或仅rstrip
)而未定义函数。
假设您给定的熊猫数据框名为strip
,请尝试:
df
new_keys = df['keys'].str.rstrip('/')
是熊猫系列。