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

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

Сообщение Anonymous »

Пример: рассмотрим
df:

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

   Time     colA    colB
0     1.1      2     2
1     2.2      2     2
2     3.4      3     5
3     4.5      3     5
4     5.6      4     5
5     6.2      4     6
6     7.4      4     6
7     8.5      2     6
8     9.8      2     5
9     10.1     2     5
10    11.2     2     5
Я ожидаю получить CSV-файл отчета со следующими столбцами:

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

Col_name    unique_value   Duration

colA             2             3.8s
colA             3             1.1s
colA             4             1.8s
colB             2             1.1s
colB             5             3.6s
colB             6             2.3s
(например): Чтобы вычислить colA:

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

unique value = 2
Duration = [1st consecutive appearance of 2 time difference (2.2-1.1)] + [2nd consecutive appearance time difference (11.2-8.5)] = 1.1 + 2.7 = 3.8s
Одна из логик, которые я пробовал:
  • Создайте новый столбец, который будет вычислять разницу последовательных значений в столбец и выдайте выходные данные True — если есть последовательные значения и False — если есть разные значения одно за другим.

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

df["answer"] = df['colA'].diff().eq(0)
  • В качестве следующего шага я планировал собрать все значения False в одном списке и True в одном списке. и получить разницу в списке.
  • Меня смущает то, как связать их с уникальными значениями.
Помогите мне выяснить, работает ли существующая логика или ее следует изменить

Подробнее здесь: https://stackoverflow.com/questions/783 ... h-each-uni

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