time/datetimeindex-0.1.0#

Represents an array of timestamps following pandas.DatetimeIndex.

Outline

Schema Definitions

This node must validate against one of the following:

  • This type is an object with the following properties:
  • This type is an object with the following properties:

Examples

A regular datetimeindex starting at 2020-01-01 and a 1 day interval till 2020-01-06:

!<asdf://weldx.bam.de/weldx/tags/time/datetimeindex-0.1.0>
  start: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-01T00:00:00'
  end: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-05T00:00:00'
  freq: D
  min: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-01T00:00:00'
  max: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-05T00:00:00'

Internal Definitions

  • values
    tag:stsci.edu:asdf/core/ndarray-1.*
    Integer representation of a pandas DatetimeIndex in nanoseconds precision.

  • start
    timestamp-0.1.0
    Timedelta of the first value.

  • end
    timestamp-0.1.0
    Timestamp of the last value.

  • freq
    string
    Optional string to describe the frequency in pandas offset style. See https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases .

    No length restriction
  • min
    timestamp-0.1.0
    Minimum timestamp in the index.

  • max
    timestamp-0.1.0
    Maximum timestamp in the index.

  • Original Schema

    %YAML 1.1
    ---
    $schema: "http://stsci.edu/schemas/yaml-schema/draft-01"
    id: "asdf://weldx.bam.de/weldx/schemas/time/datetimeindex-0.1.0"
    
    title: |
      Represents an array of timestamps following pandas.DatetimeIndex.
    
    examples:
      -
        - A regular datetimeindex starting at 2020-01-01 and a 1 day interval till 2020-01-06
        - |
          !<asdf://weldx.bam.de/weldx/tags/time/datetimeindex-0.1.0>
            start: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-01T00:00:00'
            end: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-05T00:00:00'
            freq: D
            min: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-01T00:00:00'
            max: !<asdf://weldx.bam.de/weldx/tags/time/timestamp-0.1.0> '2020-01-05T00:00:00'
    
    definitions:
      values:
        description: |
          Integer representation of a pandas DatetimeIndex in nanoseconds precision.
        tag: "tag:stsci.edu:asdf/core/ndarray-1.*"
    
      start:
        description: |
          Timedelta of the first value.
        $ref: timestamp-0.1.0
    
      end:
        description: |
          Timestamp of the last value.
        $ref: timestamp-0.1.0
    
      freq:
        description: |
          Optional string to describe the frequency in pandas offset style.
          See https://pandas.pydata.org/pandas-docs/stable/user_guide/timeseries.html#offset-aliases .
        type: string
        # TODO: match pattern for pandas string? Maybe in pandas code?
    
      min:
        description: |
          Minimum timestamp in the index.
        $ref: timestamp-0.1.0
    
      max:
        description: |
          Maximum timestamp in the index.
        $ref: timestamp-0.1.0
    
    oneOf:
      - type: object
        properties:
          values:
            $ref: "#/definitions/values"
          start:
            $ref: "#/definitions/start"
          end:
            $ref: "#/definitions/end"
          freq:
            $ref: "#/definitions/freq"
          min:
            $ref: "#/definitions/min"
          max:
            $ref: "#/definitions/max"
    
        required: [values]
        propertyOrder: [values, start, end, freq, min, max]
    
      - type: object
        properties:
          start:
            $ref: "#/definitions/start"
          end:
            $ref: "#/definitions/end"
          freq:
            $ref: "#/definitions/freq"
          min:
            $ref: "#/definitions/min"
          max:
            $ref: "#/definitions/max"
    
        required: [start, end, freq]
        propertyOrder: [start, end, freq, min, max]
    ...