Как удалить значения ячеек в строке в зависимости от состояния ячейки выше в другом столбце?Python

Программы на Python
Ответить
Anonymous
 Как удалить значения ячеек в строке в зависимости от состояния ячейки выше в другом столбце?

Сообщение Anonymous »

Кадр данных, с которым я работаю, содержит несколько строк с повторяющейся информацией в столбцах «Данные 1», «Данные 2» и «Данные 3», если столбец «Время» равен строке выше. В столбцах «Сообщение 1» и «Сообщение 2» каждой строки содержится уникальная информация, поэтому я не хочу удалять всю строку. Я хотел бы сохранить строку фрейма данных, но удалить повторяющуюся информацию в зависимости от того, соответствует ли столбец «Время» приведенной выше строке, сохранив первый экземпляр данных и в идеале заменив повторяющиеся значения пустой строкой.
Вот пример моего набора данных:



Время
Сообщение 1
Сообщение 2
Данные 1Данные 2
Данные 3




11:38:24
Уведомление
Текст
A1
A2
A3


11:38:25
Ошибка >
Текст
B1
B2
B3

11:38:26
Сообщение
Текст
C1
C2
C3


11:38:27
Ошибка< /td>
Текст
D1
D2
D3


11:38:27
Уведомление
Текст
D1
Д2
Д3


11:38: 27
Ошибка
Текст
D1
D2
D3


11:38:28
Сообщение
Текст
E1
E2
E3


11:38:28< /td>
Уведомление
Текст
E1
E2
E3


11:38:28
Ошибка
Текст< /td>
E1
E2
E3



Я попробовал следующее, но я получаю ошибки «KeyError: 'невозможно использовать одно логическое значение для индексации в setitem'»

Код: Выделить всё

condition = df['Time'].shift(1).str == ['Time']
df.loc[condition, 'Data 1'] = ''
df.loc[condition, 'Data 2'] = ''
df.loc[condition, 'Data 3'] = ''
Моя цель состоит в том, чтобы фрейм данных отражал следующее:



Время
Сообщение 1
Сообщение 2
Данные 1
Данные 2
Данные 3




11:38:24
Примечание
Текст
A1
A2
A3


11:38:25
Ошибка
Текст
B1
B2
B3

11:38:26
Сообщение
Текст
C1
C2
C3


11:38:27
Ошибка
Текст
D1D2
D3


11:38:27
Уведомление
Текст





11:38:27
Ошибка
Текст




11:38:28
Сообщение
Текст
E1
E2
E3


11:38:28
Уведомление
Текст
< td>




11:38:28
Ошибка
Текст







Подробнее здесь: https://stackoverflow.com/questions/791 ... -a-differe
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»