【发布时间】:2016-01-27 21:12:02
【问题描述】:
我有以下数据框只是单列。
import pandas as pd
tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
目前它有以下形状。
In [54]: tdf.shape
Out[54]: (5, 1)
如何将其转换为 Series 或 numpy 向量,以便形状简单地为 (5,)
【问题讨论】:
我有以下数据框只是单列。
import pandas as pd
tdf = pd.DataFrame({'s1' : [0,1,23.4,10,23]})
目前它有以下形状。
In [54]: tdf.shape
Out[54]: (5, 1)
如何将其转换为 Series 或 numpy 向量,以便形状简单地为 (5,)
【问题讨论】:
您可以简单地索引您想要的系列。示例 -
tdf['s1']
演示 -
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,)
如果您希望系列中的值作为 numpy 数组,您可以使用 .values 访问器,示例 -
In [27]: tdf['s1'].values
Out[27]: array([ 0. , 1. , 23.4, 10. , 23. ])
【讨论】:
tdf['s1'].values 会更干净。
tdf.iloc[:,0] 获取最左侧的列,tdf.iloc[:,1] 获取下一列...