Сортировка данных на основе записей столбцов - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть текстовый файл, содержащий два столбца, скажем, col1 и col2.

col1     Col2
A20      A19
A120     A117
A120     A118
A120     B19
A120     B20

.
.
.
B40      A205

и так далее.Я хочу отсортировать приведенные выше столбцы таким образом, чтобы он давал мне только те записи, которые имеют A и B рядом, например:

col1     col2
A120     B20 
B40      A205

Я пытался использовать pd.DataFrame.sort, но он не возвращаеттребуемый вывод.Любая помощь будет высоко оценена.

1 Ответ

0 голосов
/ 14 февраля 2019

Используйте индексирование по str с boolean indexing для проверки, не совпадают ли первые 2 символа:

df = df[df['col1'].str[0] != df['Col2'].str[0]]
print (df)
   col1  Col2
3  A120   B19
4  A120   B20
5   B40  A205

Если возможно, несколько начальных букв и необходимотолько тест A и B:

print (df)
   col1  Col2
0   A20   C19 <-changed sample data
1  A120  A117
2  A120  A118
3  A120   B19
4  A120   B20
5   B40  A205

a = df['col1'].str[0]
b = df['Col2'].str[0]
m1 = a.isin(['A','B'])
m2 = b.isin(['A','B'])
m3 = a != b

df = df[m1 & m2 & m3]
print (df)
   col1  Col2
3  A120   B19
4  A120   B20
5   B40  A205
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...