How to convert pandas single column data frame to series or numpy vector
Question:
I have the following data frame just single column.
import pandas as pd
tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
Currently it has the following shape.
In [54]: tdf.shape
Out[54]: (5, 1)
How can I convert it to a Series or a numpy vector so that the shape is simply (5,)
Answers:
You can simply index the series you want. Example –
tdf['s1']
Demo –
In [24]: tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
In [25]: tdf['s1']
Out[25]:
0 0.0
1 1.0
2 23.4
3 10.0
4 23.0
Name: s1, dtype: float64
In [26]: tdf['s1'].shape
Out[26]: (5,)
If you want the values in the series as numpy array, you can use .values
accessor , Example –
In [27]: tdf['s1'].values
Out[27]: array([ 0. , 1. , 23.4, 10. , 23. ])
I have the following data frame just single column.
import pandas as pd
tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
Currently it has the following shape.
In [54]: tdf.shape
Out[54]: (5, 1)
How can I convert it to a Series or a numpy vector so that the shape is simply (5,)
You can simply index the series you want. Example –
tdf['s1']
Demo –
In [24]: tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
In [25]: tdf['s1']
Out[25]:
0 0.0
1 1.0
2 23.4
3 10.0
4 23.0
Name: s1, dtype: float64
In [26]: tdf['s1'].shape
Out[26]: (5,)
If you want the values in the series as numpy array, you can use .values
accessor , Example –
In [27]: tdf['s1'].values
Out[27]: array([ 0. , 1. , 23.4, 10. , 23. ])