Поиск чисел в строке через запятую в кадре данных в python - PullRequest
1 голос
/ 27 мая 2019

df1:

id, Name, Lastname, Account, ProofID1, ProofID2, transaction_codes_history
1,  ab1,  dc1,      312,     1224,     111,      0, 1.3, 2.1, 3, 4.1, 9.1, 1.1, 7.2
2,  ab2,  dc2,      434,     1225,     112,      0, 1.2, 2.1, 1.4, 3, 4.4, 12.2
3,  ab3,  dc3,      578,     1226,     111,      0, 1.2, 2.1, 1.4, 3, 4.2, 12.1
4,  ab4,  dc4,      624,     1227,     112,      0, 1.1, 7.2
5,  ab5,  dc5,      684,     1228,     113,      0, 1.3, 2.1, 3, 9.2, 11.2

Я пытаюсь скопировать определенные столбцы в соответствии с их action_codes_history .

Если action_codes_history содержит хотя бы 4.1 или 7.2 или 1.1, то мы скопируем эти столбцы в фрейм данных.

action_codes_history - это строка разделенных запятыми чисел с плавающей точкой.

Ожидаемый результат:

Name, Account, ProofID1, ProofID2
ab1,  312,     1224,     111     
ab3,  578,     1225,     111       
ab4,  624,     1227,     112

1 Ответ

2 голосов
/ 27 мая 2019

Вы можете сделать это, создав дополнительные столбцы, такие как:

df["to_keep"] = df["transaction_codes_history"].str.contains("1.1|4.1|7.2", regex=True)

, тогда вы можете оставить только те строки, которые вам нужны:

df[df["to_keep"]][["id", "Name", "Lastname", "Account"]]

Надеюсь, это поможет, Николас

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...