in azure-kusto-data/azure/kusto/data/helpers.py [0:0]
def parse_timedelta(raw_value: Union[int, float, str]) -> "pd.Timedelta":
"""
Transform a raw python value to a pandas timedelta.
"""
import pandas as pd
if isinstance(raw_value, (int, float)):
# https://docs.microsoft.com/en-us/dotnet/api/system.datetime.ticks
# Kusto saves up to ticks, 1 tick == 100 nanoseconds
return pd.to_timedelta(raw_value * 100, unit="ns")
if isinstance(raw_value, str):
# The timespan format Kusto returns is 'd.hh:mm:ss.ssssss' or 'hh:mm:ss.ssssss' or 'hh:mm:ss'
# Pandas expects 'd days hh:mm:ss.ssssss' or 'hh:mm:ss.ssssss' or 'hh:mm:ss'
parts = raw_value.split(":")
if "." not in parts[0]:
return pd.to_timedelta(raw_value)
else:
formatted_value = raw_value.replace(".", " days ", 1)
return pd.to_timedelta(formatted_value)