I need to convert my pandas dataframe to tuple of numpy arrays. My code is like,
import pandas as pd
data = {'Class':[10., 11., 9., 8.],
'Age':[27., 24., 22., 32.],
'Mark':[76., 56., 89., 45.],
'Fees':[1000., 1200., 590., 605.]}
df = pd.DataFrame(data)
list(df.itertuples(name='data', index=False))
output >>
[data(Class=10., Age=27., Mark=76., Fees=1000.), data(Class=11., Age=24., Mark=56., Fees=1200.), data(Class=9., Age=22., Mark=89., Fees=590.), data(Class=8., Age=32., Mark=45., Fees=605.)]
But, I need output as like
data(
Class=array([10.,11.,9.,8.],dtype=float32)
Age=array([27., 24., 22., 32.],dtype=float32)
Mark=array([76., 56., 89., 45.],dtype=float32)
Fees=array([1000., 1200., 590., 605.],dtype=float32))
Please help me with this
You can use:
from collections import namedtuple
Data = namedtuple('data', ['Class', 'Age', 'Mark', 'Fees'])
out = Data(*df.values.T)
Output:
>>> out
data(Class=array([10., 11., 9., 8.]),
Age=array([27., 24., 22., 32.]),
Mark=array([76., 56., 89., 45.]),
Fees=array([1000., 1200., 590., 605.]))