给定这样的数据帧:
import pandas as pd
DF = pd.DataFrame({'COL1': ['A', 'B', 'C', 'D',],
'COL2': ['gp.se', 'https://www.expressen.se/', 'http://friatider.se', 'http://www.klimatupplysningen.se']})
DF
我想检查COL2的每个值,并应用一些老式的字符串编辑方法,如下所示:
if string.starstwith('https://www'):
string.split('www.')[1][:-1])
elif string.startswith('http://') and string.endswith('/'):
string.split('www.')[1][:-1]
然后,我想在数据框的同一单元格中重新分配新编辑的字符串。结果应该是这样的:
DF = pd.DataFrame({'COL1': ['A', 'B', 'C', 'D',],
'COL2': ['gp.se', 'expressen.se', 'friatider.se', 'klimatupplysningen.se']})
DF
有没有办法使用df.loc
优雅地替换字符串,重用原始字符串的一部分,并应用我熟悉的if/else、startswith/endswith、string切片方法
我知道replace函数,但我更喜欢这种有条件的方式(我的实际df要大得多,有更多的值,我希望避免一个接一个地替换它们)
另一种方法是使用regex
您可以使用^{} 和^{} 以及
.
和/
(而不是像http://www
这样的字母):相关问题 更多 >
编程相关推荐