как быстро сказать, какие файлы отличаются по подвижным изменениям

Я полагаю, что вам нужно несколько значений столбцов par по разности даты и времени, поскольку в данных не существует других значений, таких как 0, 1 и NaN:

d = df['timestamp'].diff()
df1 = df.filter(like='par')
#if need duration by some value e.g. by `0`
#df1 = df.filter(like='par').eq(0).astype(int)
s = df1.mul(d, axis=0).sum().astype(int).add_prefix('duration_')

df = df.assign(**s)
print (df)
        timestamp  par_1  par_2  duration_par_1  duration_par_2
0   1486873206867    0.0    0.0            1110             487
1   1486873207039    NaN    0.0            1110             487
2   1486873207185    0.0    NaN            1110             487
3   1486873207506    1.0    0.0            1110             487
4   1486873207518    NaN    NaN            1110             487
5   1486873207831    1.0    0.0            1110             487
6   1486873208148    0.0    NaN            1110             487
7   1486873208469    0.0    1.0            1110             487
8   1486873208479    1.0    NaN            1110             487
9   1486873208793    1.0    NaN            1110             487
10  1486873208959    NaN    1.0            1110             487
11  1486873209111    1.0    NaN            1110             487
12  1486873209918    NaN    0.0            1110             487
13  1486873210075    0.0    NaN            1110             487

] Объяснение :

Сначала получить разность столбца timestamp:

print (df['timestamp'].diff())
0       NaN
1     172.0
2     146.0
3     321.0
4      12.0
5     313.0
6     317.0
7     321.0
8      10.0
9     314.0
10    166.0
11    152.0
12    807.0
13    157.0
Name: timestamp, dtype: float64

Выбрать все столбцы со строкой par по filter : [ 1126]

print (df.filter(like='par'))
    par_1  par_2
0     0.0    0.0
1     NaN    0.0
2     0.0    NaN
3     1.0    0.0
4     NaN    NaN
5     1.0    0.0
6     0.0    NaN
7     0.0    1.0
8     1.0    NaN
9     1.0    NaN
10    NaN    1.0
11    1.0    NaN
12    NaN    0.0
13    0.0    NaN

Несколько отфильтрованных столбцов по mul по d:

print (df1.mul(d, axis=0))
    par_1  par_2
0     NaN    NaN
1     0.0    0.0
2     0.0    0.0
3   321.0    0.0
4     0.0    0.0
5   313.0    0.0
6     0.0    0.0
7     0.0  321.0
8    10.0    0.0
9   314.0    0.0
10    0.0  166.0
11  152.0    0.0
12    0.0    0.0
13    0.0    0.0

И sum значения:

print (df1.mul(d, axis=0).sum())
par_1    1110.0
par_2     487.0
dtype: float64

Преобразование в integer с и изменение индекса на add_prefix :

print (df1.mul(d, axis=0).sum().astype(int).add_prefix('duration_'))
duration_par_1    1110
duration_par_2     487
dtype: int32

Последнее создание новых столбцов с помощью assign .

7
задан Jason S 4 May 2009 в 23:32
поделиться

2 ответа

hg status --rev 4:7
11
ответ дан 6 December 2019 в 15:31
поделиться

Для этого можно использовать "hg log".

hg log --verbose --rev=4:7 --style=changelog

Пример:

$ hg log -v -r4:7 --style=changelog
2008-08-03 21:40 +0200  XXXXX  <XXXXXX.YYYY@xxxxxxxx.com>  (475752c35880)

        * osinfo.py: new file.
        * os-info.py: deleted file.
        * os-info.py, osinfo.py:
        Rename os-info.py -> osinfo.py.

2008-08-03 21:52 +0200  XXXXXX  <XXXXXX.YYYY@xxxxxxxx.com>  (babf6df75ff4)

        * iterate_file_lines.py, osinfo.py:
        Add keyword substitution strings.

2008-08-03 21:53 +0200  XXXXXX  <XXXXXX.YYYY@xxxxxxxx.com>  (bc6fc22adb8e)

        * iterate_file_lines.py:
        Remove comment about coding conventions.

2008-08-08 19:43 +0200  XXXXXX  <XXXXXX.YYYY@xxxxxxxx.com>  (dbea6914b20f)

        * .hgignore: new file.
        * .hgignore:
        Add .hgignore.
3
ответ дан 6 December 2019 в 15:31
поделиться
Другие вопросы по тегам:

Похожие вопросы: