擅长:python、mysql、java
<p>你也可以这样做</p>
<p>您可以使用<code>pd.Series.map</code>和内置的<code>len</code>查找列值的长度。有了它,您可以确定如何分配值</p>
<p>使用<code>astype(str)</code>将数值转换为字符串,以便进行字符串连接</p>
<pre><code>input_file.loc[input_file['cusotmerid'].astype(str).map(len) == 8, 'new_customer_id'] = input_file['cusotmerid'].astype(str).str[:2]+ '-' + input_file['cusotmerid'].astype(str).str[2:]
input_file.loc[input_file['cusotmerid'].astype(str).map(len) == 9, 'new_customer_id'] = 'K-' + input_file['cusotmerid'].astype(str).str[:3] + '-' + input_file['cusotmerid'].astype(str).str[3:]
</code></pre>
<p>这应该是新值赋值的一部分</p>
<p>其输出为:</p>
<pre><code> cusotmerid new_customer_id
0 89898988 89-898988
1 898989889 K-898-989889
</code></pre>