Pandas: разбить Dataframe на отдельные Dataframes, основываясь на строковых значениях определенных столбцов - PullRequest
0 голосов
/ 18 ноября 2018

Не нашли ответов, которые я мог бы применить к моей проблеме, так что вот так:

У меня есть исходный кадр данных изображений, который я хотел бы разделить на две части на основе описания этого изображения, которое представляет собой строку в столбце «Описание».

Моя проблема в том, что не все описания написаны одинаково. Вот пример того, что я имею в виду:

enter image description here

Некоторые изображения ускоряются, а другие нет. Вот критерии, которые я хочу использовать для разделения набора данных.

Однако даже описания ускоренных и неускоренных изображений различаются между собой.

Моя стратегия состояла бы в том, чтобы переименовать каждую строку, в которой есть «ACC» - это охватывало бы все ускоренные изображения, - в «УСКОРЕННОЕ ИЗОБРАЖЕНИЕ».

Тогда я мог бы сделать:

df_Accl = df[df.Description == "ACCELERATED IMAGE"]
df_NonAccl = df[df.Description != "ACCELERATED IMAGE"]

Как мне этого добиться? Это была просто стратегия, которую я придумал, если есть более эффективный способ сделать это, не стесняйтесь говорить.

Ответы [ 2 ]

0 голосов
/ 18 ноября 2018

Вы можете использовать contains, чтобы найти строки, содержащие подстроку ACC:

df['Description'].str.contains('ACC')
0 голосов
/ 18 ноября 2018

Вы можете использовать str.contains для логической маски - затем фильтровать по boolean indexing.

Для инвертированной маски используйте ~, фильтровать строки нетсодержит ACC:

mask = df.Description.str.contains("ACC")
df_Accl = df[mask]
df_NonAccl = df[~mask]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...