如果满足条件,Pandas 会从列中删除第一个字符

问题描述 投票:0回答:1

我有一个包含电话号码分机号的系列(格式为

x1234
)。然而我们的系统有 5 个字符的限制。

如果字符串长度为 6,如何删除

x
(第一个字符)?

这是我的代码:

mask1 = df['EXT'].str.startswith('x')
mask2 = df['EXT'].str.len() == 6
df[(mask1 & mask2)]['EXT'] # Apply both masks to only filter for these conditions and return the EXT

如何仅为这些结果设置值以删除第一个字符?

pandas dataframe
1个回答
0
投票

我认为我们可以保留右侧的前 5 个字符。如果这是正确的,没有其他条件并且相当于您的需要,那么:

df['new'] = df['EXT'].apply(lambda x: x[-5:] if len(x) > 5 else x)
© www.soinside.com 2019 - 2024. All rights reserved.