擅长:python、mysql、java
<p>您可以这样做:</p>
<pre><code>t = pd.DataFrame({'A': ['25802523', 'M25JK00010', 'KRJOJR4445'],
'size': [2, 1, 8]} )
</code></pre>
<p>根据相应的大小定义所需最终长度的字典。这里如果大小是8我将采取最后5个字符</p>
<pre><code>size_dict = {8: 5, 2: 3, 1: 4}
</code></pre>
<p>然后使用一个简单的<code>pandas apply</code></p>
<pre><code>t['A_bis'] = t.apply(lambda x: x['A'][len(x['A']) - size_dict[x['size']]:], axis=1)
</code></pre>
<p>结果是</p>
<pre><code>0 523 >> 3 last characters (key 2)
1 0010 >> 4 last characters (key 1)
2 R4445 >> 5 last characters (key 8)
</code></pre>