Add support for Apache.Arrow.Types.TimestampType to DataFrame (#6871)

This commit is contained in:
Aleksei Smirnov 2023-12-07 23:27:01 +03:00 коммит произвёл GitHub
Родитель 7366b995d4
Коммит f32ae2c687
Не найден ключ, соответствующий данной подписи
Идентификатор ключа GPG: 4AEE18F83AFDEB23
1 изменённых файлов: 19 добавлений и 5 удалений

Просмотреть файл

@ -102,11 +102,25 @@ namespace Microsoft.Data.Analysis
}
break;
case ArrowTypeId.Date64:
Date64Array arrowDate64Array = (Date64Array)arrowArray;
dataFrameColumn = new DateTimeDataFrameColumn(fieldName, arrowDate64Array.Data.Length);
for (int i = 0; i < arrowDate64Array.Data.Length; i++)
{
dataFrameColumn[i] = arrowDate64Array.GetDateTime(i);
Date64Array arrowDate64Array = (Date64Array)arrowArray;
var dataTimeDataFrameColumn = new DateTimeDataFrameColumn(fieldName, arrowDate64Array.Data.Length);
for (int i = 0; i < arrowDate64Array.Data.Length; i++)
{
dataTimeDataFrameColumn[i] = arrowDate64Array.GetDateTime(i);
}
dataFrameColumn = dataTimeDataFrameColumn;
}
break;
case ArrowTypeId.Timestamp:
{
TimestampArray arrowTimeStampArray = (TimestampArray)arrowArray;
var dataTimeDataFrameColumn = new DateTimeDataFrameColumn(fieldName, arrowTimeStampArray.Data.Length);
for (int i = 0; i < arrowTimeStampArray.Data.Length; i++)
{
dataTimeDataFrameColumn[i] = arrowTimeStampArray.GetTimestamp(i)?.DateTime;
}
dataFrameColumn = dataTimeDataFrameColumn;
}
break;
case ArrowTypeId.Decimal128:
@ -122,7 +136,7 @@ namespace Microsoft.Data.Analysis
case ArrowTypeId.Null:
case ArrowTypeId.Time32:
case ArrowTypeId.Time64:
case ArrowTypeId.Timestamp:
default:
throw new NotImplementedException($"{fieldType.Name}");
}