Analysis of Robot reports from OSM Jenkins¶

Date and time of the report: 2025-10-02 11:42:49.749451

Analysed period: 2025-09-11 to 2025-10-02.

1. Retrieval of all currrent data for aggregate analytics¶

Database update:

Retrieving new jobs...
/osm-analytics/Jenkins/jenkins_robot_etl.py:40: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_known_builds = pd.concat([df_known_builds, df_unknown_builds], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:76: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports = pd.concat([df_new_build_reports, df_build_report], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:77: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports_details = pd.concat([df_new_build_reports_details, df_build_report_details], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 3504 from "osm-stage_3-merge/master"...	Build: SUCCESS	Report available: FAIL
Retrieving build 3505 from "osm-stage_3-merge/master"...	Build: FAILURE	Report unavailable
/osm-analytics/Jenkins/jenkins_robot_etl.py:40: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_known_builds = pd.concat([df_known_builds, df_unknown_builds], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:76: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports = pd.concat([df_new_build_reports, df_build_report], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:77: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports_details = pd.concat([df_new_build_reports_details, df_build_report_details], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 267 from "osm-stage_3-merge/v17.0"...	Build: UNSTABLE	Report available: FAIL
Retrieving build 268 from "osm-stage_3-merge/v17.0"...	Build: FAILURE	Report unavailable
/osm-analytics/Jenkins/jenkins_robot_etl.py:40: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_known_builds = pd.concat([df_known_builds, df_unknown_builds], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:76: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports = pd.concat([df_new_build_reports, df_build_report], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:77: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports_details = pd.concat([df_new_build_reports_details, df_build_report_details], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 378 from "osm-stage_3-merge/v16.0"...	Build: UNSTABLE	Report available: FAIL
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 379 from "osm-stage_3-merge/v16.0"...	Build: UNSTABLE	Report available: FAIL
/osm-analytics/Jenkins/jenkins_robot_etl.py:40: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_known_builds = pd.concat([df_known_builds, df_unknown_builds], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:40: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_known_builds = pd.concat([df_known_builds, df_unknown_builds], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:76: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports = pd.concat([df_new_build_reports, df_build_report], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:77: FutureWarning: The behavior of DataFrame concatenation with empty or all-NA entries is deprecated. In a future version, this will no longer exclude empty or all-NA columns when determining the result dtypes. To retain the old behavior, exclude the relevant entries before the concat operation.
  df_new_build_reports_details = pd.concat([df_new_build_reports_details, df_build_report_details], ignore_index=True)
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 795 from "osm-stage_3-merge/v14.0"...	Build: UNSTABLE	Report available: FAIL
/osm-analytics/Jenkins/jenkins_robot_etl.py:81: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports.loc[:, 'build'] = df_new_build_reports.loc[:, 'build'].fillna(build_number)
/osm-analytics/Jenkins/jenkins_robot_etl.py:83: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  df_new_build_reports_details.loc[:, 'build'] = df_new_build_reports_details.loc[:, 'build'].fillna(build_number)
Retrieving build 796 from "osm-stage_3-merge/v14.0"...	Build: UNSTABLE	Report available: FAIL
Retrieving from database...	
DONE

2. Aggregated analysis of stability¶

2.1 Restricts data to time window for analysis¶

2.2 Finding sequences of successful builds and Robot reports¶

Two values retrieved from the build are key to determine the state of the jubs and test suites at a given moment:

  • build_result is the outcome of the build, reported by Jenkins. It can be: SUCCESS, FAILURE, UNSTABLE or ABORTED.
  • test_result is the summary of the concerned Robot tests. It can be: FAIL, UNAVAILABLE or PASS.

Based on these two states, 3 types of temporal sequences of success/failure are identified per builds and test suites:

  1. Successful builds/failed builds in a row: grp_build_result.
  2. Successful test reports vs. test reports with fails in a row: grp_test_result.
  3. Clean builds and tests vs. failures (of any kind) in a row: grp_success_fail.

For the identification of these sequences, the following mapping applies:

Type of sequence Relevant state OK sequence contains NOK sequence contains Ignore
grp_build_result build_result SUCCESS or UNSTABLE FAILURE ABORTED
grp_test_result test_result PASS FAIL UNAVAILABLE
grp_success_fail test_result PASS FAIL or UNAVAILABLE N/A

The different groupings of segments are detected and a label is added to each sample...

/tmp/ipykernel_14/285049919.py:8: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  return df.groupby(grouping)[relevant_col].transform(
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:8: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  return df.groupby(grouping)[relevant_col].transform(
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Downcasting object dtype arrays on .fillna, .ffill, .bfill is deprecated and will change in a future version. Call result.infer_objects(copy=False) instead. To opt-in to the future behavior, set `pd.set_option('future.no_silent_downcasting', True)`
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:8: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  return df.groupby(grouping)[relevant_col].transform(
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
DONE

Then, the duration of each of the sequences of success/failure is determined and a specific dataframe is built summarizing such sequences, to ease their representation and analysis...

/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
DONE

2.3 Finding sequences of pass/fails per test suite¶

/tmp/ipykernel_14/285049919.py:8: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  return df.groupby(grouping)[relevant_col].transform(
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/285049919.py:12: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill')
/tmp/ipykernel_14/285049919.py:13: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill')  # Extrapolation if first samples are inconclusive (i.e. should be ignored)
/tmp/ipykernel_14/2631965633.py:75: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  .groupby(by=grp_cols)
/tmp/ipykernel_14/2631965633.py:18: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  left_shifted = df.groupby(agg).min_timestamp.shift(-1)
/tmp/ipykernel_14/2631965633.py:30: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  last_item_indexes = df.groupby(agg).tail(1).index
/tmp/ipykernel_14/2631965633.py:40: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  df.groupby('job')
DONE

3. Reports¶

3.1 Aggregated success rate per test step¶

/tmp/ipykernel_14/1394902385.py:16: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill', limit=1)
/tmp/ipykernel_14/1394902385.py:17: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill', limit=1)
No description has been provided for this image
/tmp/ipykernel_14/1394902385.py:16: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill', limit=1)
/tmp/ipykernel_14/1394902385.py:17: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill', limit=1)
No description has been provided for this image
/tmp/ipykernel_14/1394902385.py:16: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill', limit=1)
/tmp/ipykernel_14/1394902385.py:17: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill', limit=1)
No description has been provided for this image
Empty dataframe. Skipping.
/tmp/ipykernel_14/1394902385.py:16: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='ffill', limit=1)
/tmp/ipykernel_14/1394902385.py:17: FutureWarning: Series.fillna with 'method' is deprecated and will raise in a future version. Use obj.ffill() or obj.bfill() instead.
  .fillna(method='bfill', limit=1)
No description has been provided for this image

3.2 Overall success of Jenkins builds and Robot tests¶

No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image
No description has been provided for this image

3.3 Sequences of pass/fails per test suites¶

/tmp/ipykernel_14/2250086286.py:7: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  for name, group in df_suites.groupby(['job', 'name']):
No description has been provided for this image
/tmp/ipykernel_14/2250086286.py:7: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  for name, group in df_suites.groupby(['job', 'name']):
No description has been provided for this image
/tmp/ipykernel_14/2250086286.py:7: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  for name, group in df_suites.groupby(['job', 'name']):
No description has been provided for this image
/tmp/ipykernel_14/2250086286.py:7: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  for name, group in df_suites.groupby(['job', 'name']):
/tmp/ipykernel_14/2250086286.py:7: FutureWarning: The default of observed=False is deprecated and will be changed to True in a future version of pandas. Pass observed=False to retain current behavior or observed=True to adopt the future default and silence this warning.
  for name, group in df_suites.groupby(['job', 'name']):
Empty dataframe. Skipping.
No description has been provided for this image

3.4 Failing days per test suite¶

/tmp/ipykernel_14/771943242.py:14: FutureWarning: The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior
  .pivot_table(
No description has been provided for this image
/tmp/ipykernel_14/771943242.py:14: FutureWarning: The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior
  .pivot_table(
No description has been provided for this image
/tmp/ipykernel_14/771943242.py:14: FutureWarning: The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior
  .pivot_table(
No description has been provided for this image
/tmp/ipykernel_14/771943242.py:14: FutureWarning: The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior
  .pivot_table(
No description has been provided for this image
/tmp/ipykernel_14/771943242.py:14: FutureWarning: The default value of observed=False is deprecated and will change to observed=True in a future version of pandas. Specify observed=False to silence this warning and retain the current behavior
  .pivot_table(
No description has been provided for this image
No description has been provided for this image
Out[58]:
job Master branch Release FIFTEEN Release FOURTEEN Release SEVENTEEN Release SIXTEEN
days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate days_failing days_passing days_run error_rate
suites
Basic 01-Crud Operations On Vim Targets 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 0.000000 21.370508 21.370508 0.000000 0.0 20.528819 20.528819 0.0
Basic 05-Instantiation Parameters In Cloud Init 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 0.000000 21.370508 21.370508 0.000000 0.0 20.528819 20.528819 0.0
Basic 06-Vnf With Charm 0.0 0.000000 0.000000 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 0.000000 0.000000 0.000000 0.000000 0.0 0.000000 0.000000 0.0
Basic 07-Secure Key Management 0.0 0.000000 0.000000 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 0.000000 0.000000 0.000000 0.000000 0.0 0.000000 0.000000 0.0
Basic 08-Disable Port Security Network Level 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 0.000000 21.370508 21.370508 0.000000 0.0 20.528819 20.528819 0.0
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Sa 08-Vnf With Vnf Indicators Snmp 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 1.000038 20.370471 21.370508 0.046795 0.0 20.528819 20.528819 0.0
Slice 01-Network Slicing 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 1.000038 20.370471 21.370508 0.046795 0.0 20.528819 20.528819 0.0
Slice 02-Shared Network Slicing 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 1.000038 20.370471 21.370508 0.046795 0.0 20.528819 20.528819 0.0
Sol003 01-Vnf-Lifecycle-Management 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 20.565626 20.565626 0.0 1.000038 20.370471 21.370508 0.046795 0.0 20.528819 20.528819 0.0
Sol003 02-Dualstack Ip Vnfm 0.0 21.442043 21.442043 0.0 0.0 0.0 0.0 0.0 0.0 0.000000 0.000000 0.0 1.000038 20.370471 21.370508 0.046795 0.0 20.528819 20.528819 0.0

62 rows × 20 columns

4. Information about the latest builds of relevant jobs¶

Latest build of each job¶

job build timestamp duration build_result test_result pass_count fail_count
0 osm-stage_3-merge/master 3505 2025-10-02 01:07:07.031 208524 FAILURE UNAVAILABLE NaN NaN
1 osm-stage_3-merge/v17.0 268 2025-10-02 02:50:07.373 892741 FAILURE UNAVAILABLE NaN NaN
2 osm-stage_3-merge/v16.0 379 2025-10-01 23:02:05.830 11857150 UNSTABLE FAIL 464.0 8.0
3 osm-stage_3-merge/v15.0 446 2025-03-21 03:34:47.201 12254896 UNSTABLE FAIL 448.0 7.0
4 osm-stage_3-merge/v14.0 796 2025-10-01 22:09:05.654 17297949 UNSTABLE FAIL 611.0 8.0

Click to see the details of build 3505 of osm-stage_3-merge/master

Click to see the details of build 268 of osm-stage_3-merge/v17.0

Click to see the details of build 379 of osm-stage_3-merge/v16.0

Click to see the details of build 446 of osm-stage_3-merge/v15.0

Click to see the details of build 796 of osm-stage_3-merge/v14.0

Failed test suites per job (if any):¶

osm-stage_3-merge/master: (full report)

name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v17.0: (full report)

name status starttime endtime pass fail failed_test_name failed_keyword

osm-stage_3-merge/v16.0: (full report)

name status starttime endtime pass fail failed_test_name failed_keyword
62 Epa 03-Crud Operations On Sdnc FAIL 2025-10-01 23:58:52.543 2025-10-02 00:00:05.902 2 1 Create Basic SDNC Wait Until Keyword Succeeds
79 Sa 01-Vnf With Vim Metrics FAIL 2025-10-02 00:49:24.977 2025-10-02 01:04:47.956 6 1 Get VNF VIM-based Metrics Wait Until Keyword Succeeds
80 Sa 02-Vnf With Vim Metrics And Autoscaling FAIL 2025-10-02 01:04:47.957 2025-10-02 01:38:24.115 11 4 Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds
81 Sa 07-Alarms From Sa-Related Vnfs FAIL 2025-10-02 01:38:24.117 2025-10-02 01:59:53.330 14 2 Get Alarm Metric Wait Until Keyword Succeeds

osm-stage_3-merge/v15.0: (full report)

name status starttime endtime pass fail failed_test_name failed_keyword
35 Sa 01-Vnf With Vim Metrics FAIL 2025-03-21 05:28:38.675 2025-03-21 05:43:57.785 6 1 Get VNF VIM-based Metrics Wait Until Keyword Succeeds
36 Sa 02-Vnf With Vim Metrics And Autoscaling FAIL 2025-03-21 05:43:57.789 2025-03-21 06:17:27.173 11 4 Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds
37 Sa 07-Alarms From Sa-Related Vnfs FAIL 2025-03-21 06:17:27.175 2025-03-21 06:38:22.438 14 2 Get Alarm Metric Wait Until Keyword Succeeds

osm-stage_3-merge/v14.0: (full report)

name status starttime endtime pass fail failed_test_name failed_keyword
116 Epa 03-Crud Operations On Sdnc FAIL 2025-10-01 23:54:58.710 2025-10-01 23:56:07.229 2 1 Create Basic SDNC Wait Until Keyword Succeeds
138 Sa 01-Vnf With Vim Metrics FAIL 2025-10-02 01:28:10.568 2025-10-02 01:43:27.907 6 1 Get VNF VIM-based Metrics Wait Until Keyword Succeeds
139 Sa 02-Vnf With Vim Metrics And Autoscaling FAIL 2025-10-02 01:43:27.909 2025-10-02 02:16:54.673 11 4 Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds
140 Sa 07-Alarms From Sa-Related Vnfs FAIL 2025-10-02 02:16:54.675 2025-10-02 02:37:43.601 14 2 Get Alarm Metric Wait Until Keyword Succeeds

Details of failed tests into failing test suites (if any):¶

osm-stage_3-merge/master: (full report)

suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v17.0: (full report)

suite_name test_name keyword_name status starttime endtime

osm-stage_3-merge/v16.0: (full report)

suite_name test_name keyword_name status starttime endtime
89 Epa 03-Crud Operations On Sdnc Create Basic SDNC Wait Until Keyword Succeeds FAIL 2025-10-01 23:58:54.173 2025-10-01 23:59:59.296
102 Sa 01-Vnf With Vim Metrics Get VNF VIM-based Metrics Wait Until Keyword Succeeds FAIL 2025-10-02 00:50:08.126 2025-10-02 01:04:10.077
132 Sa 02-Vnf With Vim Metrics And Autoscaling Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds FAIL 2025-10-02 01:05:37.508 2025-10-02 01:19:39.333
137 Sa 02-Vnf With Vim Metrics And Autoscaling Wait VIM-based Metric To Exceed Threshold Wait Until Keyword Succeeds FAIL 2025-10-02 01:19:41.155 2025-10-02 01:33:43.302
140 Sa 02-Vnf With Vim Metrics And Autoscaling Check VIM-based Metric Exceeds Threshold After... Check VIM-based Metric Exceeds Threshold FAIL 2025-10-02 01:35:43.309 2025-10-02 01:35:43.680
171 Sa 07-Alarms From Sa-Related Vnfs Get Alarm Metric Wait Until Keyword Succeeds FAIL 2025-10-02 01:41:05.865 2025-10-02 01:55:07.701
172 Sa 07-Alarms From Sa-Related Vnfs Check Alarms Were Received Wait Until Keyword Succeeds FAIL 2025-10-02 01:55:07.703 2025-10-02 01:58:36.559

osm-stage_3-merge/v15.0: (full report)

suite_name test_name keyword_name status starttime endtime
10 Sa 01-Vnf With Vim Metrics Get VNF VIM-based Metrics Wait Until Keyword Succeeds FAIL 2025-03-21 05:29:20.827 2025-03-21 05:43:21.137
40 Sa 02-Vnf With Vim Metrics And Autoscaling Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds FAIL 2025-03-21 05:44:45.904 2025-03-21 05:58:46.223
45 Sa 02-Vnf With Vim Metrics And Autoscaling Wait VIM-based Metric To Exceed Threshold Wait Until Keyword Succeeds FAIL 2025-03-21 05:58:48.617 2025-03-21 06:12:48.958
48 Sa 02-Vnf With Vim Metrics And Autoscaling Check VIM-based Metric Exceeds Threshold After... Check VIM-based Metric Exceeds Threshold FAIL 2025-03-21 06:14:48.962 2025-03-21 06:14:48.981
79 Sa 07-Alarms From Sa-Related Vnfs Get Alarm Metric Wait Until Keyword Succeeds FAIL 2025-03-21 06:19:34.795 2025-03-21 06:33:35.126
80 Sa 07-Alarms From Sa-Related Vnfs Check Alarms Were Received Wait Until Keyword Succeeds FAIL 2025-03-21 06:33:35.127 2025-03-21 06:37:05.912

osm-stage_3-merge/v14.0: (full report)

suite_name test_name keyword_name status starttime endtime
181 Epa 03-Crud Operations On Sdnc Create Basic SDNC Wait Until Keyword Succeeds FAIL 2025-10-01 23:55:00.187 2025-10-01 23:56:04.246
195 Sa 01-Vnf With Vim Metrics Get VNF VIM-based Metrics Wait Until Keyword Succeeds FAIL 2025-10-02 01:28:52.365 2025-10-02 01:42:52.572
228 Sa 02-Vnf With Vim Metrics And Autoscaling Get VNF VIM-based Metric Before Auto-scaling Wait Until Keyword Succeeds FAIL 2025-10-02 01:44:15.523 2025-10-02 01:58:15.769
235 Sa 02-Vnf With Vim Metrics And Autoscaling Wait VIM-based Metric To Exceed Threshold Wait Until Keyword Succeeds FAIL 2025-10-02 01:58:17.543 2025-10-02 02:12:17.840
238 Sa 02-Vnf With Vim Metrics And Autoscaling Check VIM-based Metric Exceeds Threshold After... Check VIM-based Metric Exceeds Threshold FAIL 2025-10-02 02:14:17.844 2025-10-02 02:14:17.867
243 Sa 02-Vnf With Vim Metrics And Autoscaling Get VDUs After Auto-scaling Run Keyword If FAIL 2025-10-02 02:16:18.325 2025-10-02 02:16:18.326
270 Sa 07-Alarms From Sa-Related Vnfs Get Alarm Metric Wait Until Keyword Succeeds FAIL 2025-10-02 02:19:01.009 2025-10-02 02:33:01.225
272 Sa 07-Alarms From Sa-Related Vnfs Check Alarms Were Received Wait Until Keyword Succeeds FAIL 2025-10-02 02:33:01.226 2025-10-02 02:36:30.031



Powered by osm-analytics