<pre><code>example = pd.Series(['None', 'http://fakeurl.com/example/fakeurl', 'https://www.qwer.com/example/qwer',
'None', 'test.com/example/test',
'None', '123135123', 'nourlhere', 'lol', 'hello.tv', 'nolink', 'ihavenowebsite.com'])
example=pd.DataFrame(example.rename('main'))
example['path']=example['main']\
.str.replace('http://','')\
.str.replace('www.','')\
.str.replace('https://','')
#take only rows with adres( and extract this adres)
example.loc[
example.path.str.contains('\.')
,'host']=example.loc[example.path.str.contains('\.'),'path'].str.split('.').apply(lambda x: x[0])
example['host'] = '/example/'+example['host']
#add path where is not example/host_name
example.loc[
~example.main.str.contains('/example/'),'main']=example.loc[
~example.main.str.contains('/example/'),'main']+example.loc[
~example.main.str.contains('/example/'),'host']
example.loc[example.main.isna(),'main'] = example.loc[example.main.isna(),'path']
example=example[['main']]
print(example)
main
0 None
1 http://fakeurl.com/example/fakeurl
2 https://www.qwer.com/example/qwer
3 None
4 test.com/example/test
5 None
6 123135123
7 nourlhere
8 lol
9 hello.tv/example/hello
10 nolink
11 ihavenowebsite.com/example/ihavenowebsite
</code></pre>