3D array numpy -> pandas ->csv -> pandas -> 3d array numpy
This article is example source code for
3D array numpy -> pandas -> csv -> pandas -> 3D array numpy
Let's see step by step
Step 1, make example data
result
Step 2, numpy to pandas
result
Step 3, save csv, load csv
Step 4, pandas to numpy
result
3D array numpy -> pandas -> csv -> pandas -> 3D array numpy
Let's see step by step
Step 1, make example data
import numpy as np import pandas as pd #make list a = [[11, 12, 13, 14, 15], [15, 16, 17, 18, 19]] b = [[21, 22, 23, 24, 25], [25, 26, 27, 28, 29]] c = [] c.append(a) c.append(b) #make numpy npa = np.array(c) print('npa\n',npa) print('npa shape\n',npa.shape) #2 by 2 by 5
result
npa [[[11 12 13 14 15] [15 16 17 18 19]] [[21 22 23 24 25] [25 26 27 28 29]]] npa shape (2, 2, 5)
Step 2, numpy to pandas
#make numpy to panda m,n,r = npa.shape #numpy ->group indexing, reshape out_arr = np.column_stack((np.repeat(np.arange(m),n),npa.reshape(m*n,-1))) out_df = pd.DataFrame(out_arr, columns=['group','a','b','c','d','e']) print('pnadas\n',out_df) #pandas
result
group a b c d e 0 0 11 12 13 14 15 1 0 15 16 17 18 19 2 1 21 22 23 24 25 3 1 25 26 27 28 29
Step 3, save csv, load csv
#save to csv out_df.to_csv('test3Dpandas.csv', index=False) #load csv df = pd.read_csv('test3Dpandas.csv')
Step 4, pandas to numpy
#pandas to numpy npb = df.values npb = npb[:,1:] npb2 = npb.reshape(m,n,r) print('numpy\n',npb2)
result
numpy [[[11 12 13 14 15] [15 16 17 18 19]] [[21 22 23 24 25] [25 26 27 28 29]]]