使用Python将文本和数字与字母数字文本分开

2024-06-16 10:46:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一张excel表格,包含a列和B列中的大量数据,如下所示。B列总是从字母M开始,然后是数字

   A         B
Pradeep440  M440
Azhar541    M541
Venkat456   M456
Akash144    M144
Vipul157    M157
Fairo452    M452
Akshay449   M449
Pavan249    M249
Asad114     M114
Rudra890    M890
Niranjan120 M120
Darshan334  M334
Veeresh876  M876

预期产出:

    A         B      C 
Pradeep440  M440    440
Azhar541    M541    541
Venkat456   M456    456
Akash144    M144    144
Vipul157    M157    157
Fairo452    M452    452
Akshay449   M449    449
Pavan249    M249    249
Asad114     M114    114
Rudra890    M890    890
Niranjan120 M120    120
Darshan334  M334    334
Veeresh876  M876    876

有人可以指导我如何使用python拆分或分离它吗?我对python不熟悉。感谢您的帮助


Tags: m456akshay449m157vipul157akash144m144pradeep440azhar541
3条回答

您可以执行extract

df['C'] = df['B'].str.extract('(\d+)$')[0]

strip一起做

df['C']=df.B.str.strip('M')
df
Out[132]: 
              A     B    C
0    Pradeep440  M440  440
1      Azhar541  M541  541
2     Venkat456  M456  456
3      Akash144  M144  144
4      Vipul157  M157  157
5      Fairo452  M452  452
6     Akshay449  M449  449
7      Pavan249  M249  249
8       Asad114  M114  114
9      Rudra890  M890  890
10  Niranjan120  M120  120
11   Darshan334  M334  334
12   Veeresh876  M876  876

由于您有固定格式,所以可以跳过字符串中的第一个字符

df["C"] = df.B.str[1:]

df["C"] = df.iloc[:,1].str[1:]
df
              A     B    C
0    Pradeep440  M440  440
1      Azhar541  M541  541
2     Venkat456  M456  456
3      Akash144  M144  144
4      Vipul157  M157  157
5      Fairo452  M452  452
6     Akshay449  M449  449
7      Pavan249  M249  249
8       Asad114  M114  114
9      Rudra890  M890  890
10  Niranjan120  M120  120
11   Darshan334  M334  334
12   Veeresh876  M876  876

相关问题 更多 >