Python 数据框中列的值列表

Python 数据框中列的值列表,python,pandas,numpy,dataframe,Python,Pandas,Numpy,Dataframe,我有一个数据框,其中一列有一个值列表(每个值都是一个特性的值)。现在我需要将这些值列表转换为每列。 例如:DataFrame有两列,其中数据列是值列表 我需要转换为 例: data0 data1 data2 data3 Time 1 , 2 , 3 , 4 , 12:34 5 , 6 , 7 , 8 , 12:36 9 , 1 , 2 , 3 , 12:45 如何有效地执行此操作?您可以使用DataF

我有一个数据框,其中一列有一个值列表(每个值都是一个特性的值)。现在我需要将这些值列表转换为每列。
例如:DataFrame有两列,其中数据列是值列表

我需要转换为

例:

   data0 data1 data2 data3 Time
    1   ,  2  ,  3  ,  4  , 12:34    
    5   ,  6  ,  7  ,  8  , 12:36    
    9   ,  1  ,  2  ,  3  , 12:45

如何有效地执行此操作?

您可以使用
DataFrame
构造函数将列
data
转换为
numpy数组
by+,并将最后一列
时间

df = pd.DataFrame(df['data'].values.tolist()).add_prefix('data').join(df['Time'])
print (df)
   data0  data1  data2  data3   Time
0      1      2      3      4  12:34
1      5      6      7      8  12:36
2      9      1      2      3  12:45
numpy

通过直接在值上使用
np.column\u stack
,我们得到了一个非常快速的解决方案。剩下要做的唯一一件事就是把柱子缝在一起


timeit

%%timeit
pd.DataFrame(df['data'].values.tolist()).add_prefix('data').join(df['Time'])
1000 loops, best of 3: 1.13 ms per loop

%%timeit
v = np.column_stack([df.data.values.tolist(), df.Time.values])
c = ['data{}'.format(i) for i in range(v.shape[1] - 1)] + ['Time']
pd.DataFrame(v, df.index, c)
10000 loops, best of 3: 183 µs per loop
v = np.column_stack([df.data.values.tolist(), df.Time.values])
c = ['data{}'.format(i) for i in range(v.shape[1] - 1)] + ['Time']
pd.DataFrame(v, df.index, c)

  data0 data1 data2 data3   Time
0     1     2     3     4  12:34
1     5     6     7     8  12:36
2     9     1     2     3  12:45
%%timeit
pd.DataFrame(df['data'].values.tolist()).add_prefix('data').join(df['Time'])
1000 loops, best of 3: 1.13 ms per loop

%%timeit
v = np.column_stack([df.data.values.tolist(), df.Time.values])
c = ['data{}'.format(i) for i in range(v.shape[1] - 1)] + ['Time']
pd.DataFrame(v, df.index, c)
10000 loops, best of 3: 183 µs per loop