In [1]:
import pandas as pd

In [2]:
df = pd.DataFrame({'list': [[0, 0], [0, 1], [1, 0], [1, 1]]},
                  index=pd.date_range('2018-01-01', '2018-01-04', freq='D'))

In [3]:
print(df)


              list
2018-01-01  [0, 0]
2018-01-02  [0, 1]
2018-01-03  [1, 0]
2018-01-04  [1, 1]

In [4]:
print(df.index)


DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04'], dtype='datetime64[ns]', freq='D')

In [5]:
print(type(df['list'][0]))


<class 'list'>

In [6]:
df.to_csv('data/dst/pandas_obj.csv')

In [7]:
df_from_csv = pd.read_csv('data/dst/pandas_obj.csv', index_col=0, parse_dates=True)

In [8]:
print(df_from_csv)


              list
2018-01-01  [0, 0]
2018-01-02  [0, 1]
2018-01-03  [1, 0]
2018-01-04  [1, 1]

In [9]:
print(df_from_csv.index)


DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04'], dtype='datetime64[ns]', freq=None)

In [10]:
print(type(df_from_csv['list'][0]))


<class 'str'>

In [11]:
df_from_csv['list'] = df_from_csv['list'].apply(eval)

In [12]:
print(df_from_csv)


              list
2018-01-01  [0, 0]
2018-01-02  [0, 1]
2018-01-03  [1, 0]
2018-01-04  [1, 1]

In [13]:
print(type(df_from_csv['list'][0]))


<class 'list'>

In [14]:
df.to_pickle('data/dst/pandas_obj.pkl')

In [15]:
df_from_pkl = pd.read_pickle('data/dst/pandas_obj.pkl')

In [16]:
print(df_from_pkl)


              list
2018-01-01  [0, 0]
2018-01-02  [0, 1]
2018-01-03  [1, 0]
2018-01-04  [1, 1]

In [17]:
print(df_from_pkl.index)


DatetimeIndex(['2018-01-01', '2018-01-02', '2018-01-03', '2018-01-04'], dtype='datetime64[ns]', freq='D')

In [18]:
print(type(df_from_pkl['list'][0]))


<class 'list'>

In [19]:
df.to_pickle('data/dst/pandas_obj.zip')

In [20]:
df_from_pkl_zip = pd.read_pickle('data/dst/pandas_obj.zip')

In [21]:
print(df_from_pkl_zip)


              list
2018-01-01  [0, 0]
2018-01-02  [0, 1]
2018-01-03  [1, 0]
2018-01-04  [1, 1]