将数据框中的列表解包为多个 TensorFlow 输入

Unpacking lists within a data frame into multiple TensorFlow inputs

所以我有一个类似于这样的 pandas 数据框:

col1 col2 col3
[0,1,0] 1 0
[1,0,0] 0 1

我想解压它,使其变成 5 列,因为显然 tensorflow 不支持嵌套列表。有没有有效的方法来实现这个?

您可以尝试合并列表 pandas:

import pandas as pd

df = pd.DataFrame(data = {'col1': [[0,1,0], [1,0,0] ], 'col2': [1, 0], 'col3': [0, 1]})

df['col1-1'], df['col1-2'], df['col1-3'] = zip(*list(df['col1'].values))
df = df.drop('col1', axis=1)
print(df)
   col2  col3  col1-1  col1-2  col1-3
0     1     0       0       1       0
1     0     1       1       0       0

numpy:

import pandas as pd
import numpy as np

df = pd.DataFrame(data = {'col1': [[0,1,0], [1,0,0] ], 'col2': [1, 0], 'col3': [0, 1]})

col1 = np.vstack(df['col1'].values)
col23 = df[['col2', 'col3']].values

data = np.concatenate([col1, col23], axis=-1)
print(data)
[[0 1 0 1 0]
 [1 0 0 0 1]]