【问题标题】:Output a single row in pandas to an array将 pandas 中的单行输出到数组
【发布时间】:2018-07-31 12:03:18
【问题描述】:

我希望能够拉出任意行,例如第 4 行,并获取一个数组,以便我可以通过另一个函数发送它。

最简单的方法是什么?

【问题讨论】:

    标签: python arrays pandas numpy indexing


    【解决方案1】:

    由于 Pandas 数据在内部存储为 Numpy 数组,因此您可以直接提取 Numpy 表示。

    v0.24+

    使用pd.Series.to_numpy方法:

    df.iloc[3].to_numpy()  # output 4th row as Numpy array
    

    v0.24 之前

    使用pd.Series.values属性:

    df.iloc[3].values  # output 4th row as Numpy array
    

    请记住,如果您的数据框包含多种类型,则按行 Numpy 数组的 dtype 可能会变为 object。这会导致后续操作效率低下。

    【讨论】:

      【解决方案2】:
      # Dummy DataFrame
      df = pd.DataFrame({'col1': [1,2,3], 'col2': [4,5,6]})
      # Extract second row (index: 1)
      df.iloc[1].values
      

      【讨论】:

      • as_matrix 自 0.23.0 版起已弃用。一般来说,建议在接受的答案中使用如下所示的“.values”。
      猜你喜欢
      • 1970-01-01
      • 2022-01-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多