2017-05-26 7 views
1

Zum Beispiel habe ich einen Datenrahmen wie dieses:Pandas Datenrahmen Werte mit numpy Array

import pandas as pd 

df = pd.DataFrame([[1, 2.], [3, 4.]], columns=['a', 'b']) 

print df 

    a b 
0 1 2.0 
1 3 4.0 

Ich möchte einen Datenrahmen erhalten, wie folgt:

a  b 
0 [1,3] [2,4] 

Antwort

0

Ein Ansatz -

df_out = pd.DataFrame([df.values.T.astype(int).tolist()], columns=df.columns) 

Zurückholen -

N = len(df_out.columns) 
arr_back = np.concatenate(np.concatenate(df_out.values)).reshape(N,-1).T 
df_back = pd.DataFrame(arr_back, columns=df_out.columns) 

Probelauf -

In [164]: df 
Out[164]: 
    a b 
0 1 2.0 
1 3 4.0 
2 5 6.0 

In [165]: df_out 
Out[165]: 
      a   b 
0 [1, 3, 5] [2, 4, 6] 

In [166]: df_back 
Out[166]: 
    a b 
0 1 2 
1 3 4 
2 5 6 
+0

Dank es funktioniert jetzt –

+0

wenn ich –

+0

sichern möchten, dann die Änderungen @IbrahimaKhalil Check out. – Divakar

Verwandte Themen