擅长:python、mysql、java
<p>使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.str.split.html" rel="nofollow noreferrer">^{<cd1>}</a>并按<a href="https://numpy.org/doc/stable/reference/generated/numpy.where.html" rel="nofollow noreferrer">^{<cd2>}</a>按拆分值的长度设置新列:</p>
<pre><code>s = df['Name'].str.split('\\')
df['domain'] = np.where(s.str.len().eq(1), '', s.str[0])
df['id'] = s.str[-1]
print (df)
No Course Name domain id
0 1 BM GAR\samege GAR samege
1 2 BI GER\yun GER yun
2 3 MM steli steli
3 4 SC ilo18yu ilo18yu
</code></pre>
<p>另一个想法是:</p>
<pre><code>s = df['Name'].str.split('\\').str[::-1]
df[['domain', 'id']] = pd.DataFrame(s.tolist(), index=df.index).iloc[:, ::-1]
print (df)
No Course Name domain id
0 1 BM GAR\samege GAR samege
1 2 BI GER\yun GER yun
2 3 MM steli None steli
3 4 SC ilo18yu None ilo18yu
</code></pre>