@@ -101,10 +101,18 @@ private static void AppendDataFrameColumnFromArrowArray(Field field, IArrowArray
101101 AppendDataFrameColumnFromArrowArray ( fieldsEnumerator . Current , structArrayEnumerator . Current , ret , field . Name + "_" ) ;
102102 }
103103 break ;
104- case ArrowTypeId . Decimal :
104+ case ArrowTypeId . Date64 :
105+ Date64Array arrowDate64Array = ( Date64Array ) arrowArray ;
106+ dataFrameColumn = new DateTimeDataFrameColumn ( fieldName , arrowDate64Array . Data . Length ) ;
107+ for ( int i = 0 ; i < arrowDate64Array . Data . Length ; i ++ )
108+ {
109+ dataFrameColumn [ i ] = arrowDate64Array . GetDateTime ( i ) ;
110+ }
111+ break ;
112+ case ArrowTypeId . Decimal128 :
113+ case ArrowTypeId . Decimal256 :
105114 case ArrowTypeId . Binary :
106115 case ArrowTypeId . Date32 :
107- case ArrowTypeId . Date64 :
108116 case ArrowTypeId . Dictionary :
109117 case ArrowTypeId . FixedSizedBinary :
110118 case ArrowTypeId . HalfFloat :
@@ -114,6 +122,7 @@ private static void AppendDataFrameColumnFromArrowArray(Field field, IArrowArray
114122 case ArrowTypeId . Null :
115123 case ArrowTypeId . Time32 :
116124 case ArrowTypeId . Time64 :
125+ case ArrowTypeId . Timestamp :
117126 default :
118127 throw new NotImplementedException ( $ "{ fieldType . Name } ") ;
119128 }
@@ -145,7 +154,7 @@ public static DataFrame FromArrowRecordBatch(RecordBatch recordBatch)
145154 }
146155
147156 /// <summary>
148- /// Returns an <see cref="IEnumerable{RecordBatch}"/> without copying data
157+ /// Returns an <see cref="IEnumerable{RecordBatch}"/> mostly without copying data
149158 /// </summary>
150159 public IEnumerable < RecordBatch > ToArrowRecordBatches ( )
151160 {
0 commit comments