从数据帧中提取特征并将其转换为其他数据帧?

2024-04-16 09:05:28 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个datafarme(my\ u data:)如下:

   my_data:        
                    0            ...              16
      TB1     [1, 5, 24, 1]      ...        [0, 0, 0, 31]
      TB2     [7, 4, 13, 1]      ...        [0, 0, 0, 25]
      TB3     [7, 6, 20, 0]      ...        [7, 4, 2, 20]
      ...       .......          ...          ........

可以看到,在每一列中都有一个数字列表,在我的\数据中总共有16列包含一个数字列表。现在,我想提取这些列表并将它们用作常规列。所以我想要的数据应该是这样的:

   my_data:
             0  1  2   3  ...  60  61 62
      TB1    1, 5, 24, 1  ...  0,  0, 31
      TB2    7, 4, 13, 1  ...  0,  0, 25
      TB3    7, 6, 20, 0  ...  4,  2, 20
      ...       .......   ...   ........

你知道吗


Tags: 数据列表datamy数字常规tb2tb1
2条回答

使用reshape将数据帧转换为二维数组,并通过构造函数创建新的DataFrame

df = pd.DataFrame(np.array(df.values.tolist()).reshape(len(df), -1), index=df.index)
print (df)
     0  1   2  3  4  5  6   7
TB1  1  5  24  1  0  0  0  31
TB2  7  4  13  1  0  0  0  25
TB3  7  6  20  0  7  4  2  20

一种简单的方法是沿着轴1构建一个新的数据帧:

pd.DataFrame(df.sum(1).values.tolist(), index=df.index)

     0  1   2  3  4  5  6   7
TB1  1  5  24  1  0  0  0  31
TB2  7  4  13  1  0  0  0  25
...

相关问题 更多 >