o
    h                     @   sL   d dl mZ d dlmZmZ d dlZd dlZd dl	Z
d	ddZd
ddZdS )    )OrderedDict)datetimeNFc                 C   s  dt  fdt  fdt  fdt  fdt  fdt  fdt  fdt  fd	t 	 fd
t 
 fg
}t }g }|D ]'\}}|t |t | tjd|dtjd|ddtjd|dg||< q;|t dt t   tjddgdddtjdgddtjg dddg|d< |t dt t d tjg dddddtjg dddg|d< | r|t dt   t|}t |}||fS )z
    Dataframe with numpy arrays columns of every possible primitive type.

    Returns
    -------
    df: pandas.DataFrame
    schema: pyarrow.Schema
        Arrow schema definition that is in line with the constructed df.
    i1i2i4i8u1u2u4u8f4f8
   dtype   N   str1   äobjectr   23
datetime64ms)z2007-07-13T01:23:34.123456789N2010-08-13T05:46:57.437699912zdatetime64[ms])z2007-07-13T02Nr   __index_level_0__)paint8int16int32int64uint8uint16uint32uint64float32float64r   appendfieldlist_nparangestringarray	timestamppd	DataFrameschema)include_indexdtypesarraysfieldsr   arrow_dtypedfr4    r;   Q/var/www/vscode/kcb/lib/python3.10/site-packages/pyarrow/tests/pandas_examples.pydataframe_with_arrays   sH   





r=   c              
   C   s  t  }g }|tdtt  g dg ddg tjg dd tjdddd g|d< |tdtt  g dg d	dg tg dd ddd g|d< |td
tt	  ddgddgg dg g|d
< |tdtt
  ddgddgg dg g|d< g tdddtdddgtdddgdtdddtdddgg}tdddtdddtdd d gg td!d"d gdtd#d#d#td$d#dtdddgg}t |ft |ftd%|ftd&|ftd'|fg}|s|td(|fg7 }|D ]\}}d)|}	t|}
t|	|
}|| |||	< q| r2|td*t  t|}t|}||fS )+a)  
    Dataframe with list columns of every possible primitive type.

    Returns
    -------
    df: pandas.DataFrame
    schema: pyarrow.Schema
        Arrow schema definition that is in line with the constructed df.
    parquet_compatible: bool
        Exclude types not supported by parquet
    r#   )
r   r            r            	   )r   r   r>   r?   r@   Nr>   r   double)
              ?       @      @      @g      @g      @g      @g       @g      "@)rF   rG   rH   rI   rJ   
bytes_list   1   f)rL      2   3str_listr   r   r   i  r   i        i  rA   rB   i  rD   i  r?         ;      r   r      sr   usnsz{}_listr   )r   r*   r   r+   r,   r#   r-   r0   r)   binaryr/   r   r   date32date64time32time64formatr2   r3   r4   )r5   parquet_compatibler7   r8   	date_data	time_datatemporal_pairs
value_typedata
field_name
field_typer+   r:   r4   r;   r;   r<   dataframe_with_listsS   s   	  
	





ri   )F)FF)collectionsr   datetimer   r   numpyr-   pandasr2   pyarrowr   r=   ri   r;   r;   r;   r<   <module>   s   
9