【问题标题】:conversion of lists into a numpy array in pandas dataframe将列表转换为 pandas 数据框中的 numpy 数组
【发布时间】:2019-02-25 19:13:45
【问题描述】:

我们有一个数据框,其中一列的元素是列表(讨论不是关于是否应该这样做)。一个简单的例子如下:

df = pd.DataFrame([[12,[123,234,234]], [14,[124,25,235]], [16,[1267,267,2345]]], columns = ['A', 'B'])

获得:

这里的目标是将列 B 转换为 numpy 数组,如下所示:

.

如果我要求 pandas 将列转换为数组:

df['B'].values

返回一个list数组,和上面的不一样:

array([list([123, 234, 234]), list([124, 25, 235]),
   list([1267, 267, 2345])], dtype=object)

我们如何解决这个问题?

【问题讨论】:

    标签: python pandas numpy


    【解决方案1】:

    如果列表长度始终相同,则创建嵌套列表,然后转换为np.array

    arr = np.array(df['B'].values.tolist())
    #alternative
    #arr = np.array(df['B'].tolist())
    print (arr)
    [[ 123  234  234]
     [ 124   25  235]
     [1267  267 2345]]
    

    【讨论】:

      猜你喜欢
      • 2020-06-20
      • 1970-01-01
      • 2016-03-31
      • 2022-01-12
      • 2022-01-22
      • 2014-03-23
      • 1970-01-01
      相关资源
      最近更新 更多