【问题标题】:How to convert pandas single column data frame to series or numpy vector [duplicate]如何将熊猫单列数据框转换为系列或numpy向量[重复]
【发布时间】: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,)

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    您可以简单地索引您想要的系列。示例 -

    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. ])
    

    【讨论】:

    • 或者也许将系列分配给一个 numpy 数组以进行进一步操作,即。 np.asarray(tdf['s1'])
    • 是的,但我认为tdf['s1'].values 会更干净。
    • 如果您希望避免引用列名,您也可以使用tdf.iloc[:,0] 获取最左侧的列,tdf.iloc[:,1] 获取下一列...
    猜你喜欢
    • 2017-10-29
    • 1970-01-01
    • 2019-10-12
    • 1970-01-01
    • 2013-06-18
    • 2016-01-19
    • 2019-08-04
    相关资源
    最近更新 更多