У меня есть следующие строки в панде DataFrame в Python3, столбец string1
и string2
:
import pandas as pd
datainput = [
{ 'string1': 'TTTABCDABCDTTTTT', 'string2': 'ABABABABABABABAA' },
{ 'string1': 'AAAAAAAA', 'string2': 'TTAAAATT' },
{ 'string1': 'TTABCDTTTTT', 'string2': 'ABABABABABA' }
]
df = pd.DataFrame(datainput)
df
string1 string2
0 TTTABCDABCDTTTTT ABABABABABABABAA
1 AAAAAAAA TTAAAATT
2 TTABCDTTTTT ABABABABABA
Для каждой строки строки в столбцах string1
и string2
определены какбыть одинаковой длины.
Для каждой строки DataFrame, строки, возможно, должны быть «очищены» от начальных / конечных букв «T».Однако для каждой строки обе строки должны быть удалены из одного и того же числа символов, чтобы строки оставались одинаковой длины.
Правильный вывод выглядит следующим образом:
df
string1 string2
0 ABCDABCD BABABABA
1 AAAA AAAA
2 ABCD ABAB
Если бы это были две переменные, было бы просто вычислить это с помощью strip()
, например,
string1 = "TTTABCDABCDTTTTT"
string2 = "ABABABABABABABAA"
length_original = len(string1)
num_left_chars = len(string1) - len(string1.lstrip('T'))
num_right_chars = len(string1.rstrip('T'))
edited = string1[num_left_chars:num_right_chars]
## print(edited)
## 'ABCDABCD'
Однако в этом случае необходимо перебрать все строки и переопределить две строки одновременно.Как можно изменить каждую из этих строк строка за строкой?
РЕДАКТИРОВАТЬ: Моя главная путаница в том, что, учитывая, что оба столбца могут T
, как мне переопределить их оба?