【问题标题】:How to convert a dataframe to ndarray of 0s and 1s?如何将数据帧转换为 0 和 1 的 ndarray?
【发布时间】:2020-11-11 20:27:02
【问题描述】:

我有一个看起来像这样的 Pandas 数据框:

col_1 col_2
a     4
a     3
b     2
c     2
d     1
b     4
c     1

我需要将其转换为二维数组的 NumPy 数组,其中每个二维数组对应一个字母。例如,如果 'a' 不与 1 和 2 一起出现,而是与 3 和 4 一起出现,则与之对应的二维数组应该看起来像 [0, 0, 1, 1]。所以在这个例子中我需要:

[[0, 0, 1, 1], [0, 1, 0, 1], [0, 1, 0, 0], [1, 0, 0, 1]]

最好的方法是什么?

【问题讨论】:

    标签: python arrays pandas numpy


    【解决方案1】:

    这是一种方法crosstab

    l = pd.crosstab(df.col_1,df.col_2).values.tolist()
    Out[23]: [[0, 0, 1, 1], [0, 1, 0, 1], [1, 1, 0, 0], [1, 0, 0, 0]]
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-02-15
      • 2013-08-14
      • 2016-11-11
      • 2014-01-17
      • 1970-01-01
      相关资源
      最近更新 更多