Отделите текст и число от буквенно-цифровых c текста, используя Python - PullRequest
1 голос
/ 18 июня 2020

У меня есть таблица 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. Ценю вашу помощь.

Ответы [ 3 ]

3 голосов
/ 18 июня 2020

Можно сделать extract:

df['C'] = df['B'].str.extract('(\d+)$')[0]
3 голосов
/ 18 июня 2020

Сделать с 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
1 голос
/ 18 июня 2020

Поскольку у вас есть исправление форматирования, вы можете пропустить первый символ из строки

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
...