擅长:python、mysql、java
<p>此方法使用<code>apply</code>和函数:</p>
<pre><code>import pandas as pd
l = ['A', 'AM', 'AMB', 'AMS', 'D', 'DB', 'DBB', 'DBD']
df = pd.DataFrame(l).rename(columns={0:'code'})
def level2(col):
if len(col) == 1:
return ''
elif len(col) >= 2:
return col[:2]
def level3(col):
if len(col) <= 2:
return ''
elif len(col) > 2:
return col[:3]
df['Level1'] = df['code'].apply(lambda col: col[0])
df['Level2'] = df['code'].apply(level2)
df['Level3'] = df['code'].apply(level3)
print(df)
</code></pre>
<p>输出:</p>
<pre><code> code Level1 Level2 Level3
0 A A
1 AM A AM
2 AMB A AM AMB
3 AMS A AM AMS
4 D D
5 DB D DB
6 DBB D DB DBB
7 DBD D DB DBD
</code></pre>
<p>这些函数也可以重构成一个函数,但你可以理解其中的要点。我建议使用<code>apply</code>而不是熊猫的其他方法,因为<code>apply</code>更容易记忆和定制。希望这有帮助。你知道吗</p>