Я хочу извлечь символ до и после определенных символов в строке, большинство из них находятся в столбце pandas данных.
По сути, я хочу взять из моего основного блока данных и объединить его из моих столбцов «Штамм» и «Регион», используя следующие элементы:
i) Исходный штамм: Streptomyces_sp_QL40_O
ii) Исходный регион: Регион 1,1
Извлечение:
- Строка после второго подчеркивания Пример: QL40
- Первый номер перед '.' Пример: nbsp. 1
- Второй номер после '.' Пример: . 1
- Строковая область перед символом '&'
- Добавить два 0 после строки 'region', если di git меньше 10 и один 0, если di git больше десяти.
Желаемый выход : QL40_1.region001
Пример ниже
import pandas as pd
data = [['Streptomyces_sp_QL40_O', 'Region 1.1'], ['Streptomyces_sp_QL40_O', 'Region 2.2'], ['Streptomyces_sp_QL40_O', 'Region 2.1']]
df = pd.DataFrame(data, columns = ['Strain', 'Region'])
print(df)
region_list = ['QL40_1.region001', 'QL40_2.region002', 'QL40_3.region001']
Я начал примерно так:
df['BGC Region'] = df['Strain'].str.split('_').str[2]
print('DataFrame Modified')
df['BGC Region'] = df['BGC Region'].astype(str) + '_'
df['Region No'] = df['Region'].str.split('.').str[1]