在熊猫中将包含2D数组的单元格扩展为其自己的变量

时间:2019-06-25 15:24:47

标签: python python-3.x pandas numpy

我的数据框看起来像这样

 TeamA   TeamB 
 [a,b]   [[b,c],[d,c],[d,f] .....upto 15  such arrays]
 [b,c]   [[v,c],[e,c],[g,f] .....upto 15  such arrays]

TeamB每行有15套记录。

我希望它看起来像

 TeamA   Team0 Team1  Team2 ...... 
 [a,b]   [b,c] [d,c]  [d,f]] ......
 [b,c]   [v,c] [e,c]  [g,f] .....

对于一维,我可以使用

newcol = df['TeamB '].apply(pd.Series)
newcol = newcol.rename(columns = lambda x : 'Team_' + str(x))
pd.concat([df[:], newcol [:]], axis=1)

我该如何使用2D阵列做到这一点。

这是我的df.head(5).to_dict()。在这种情况下,我在TeamB中每行仅获取2个数组

{'TeamA   ': {0: array([ 35.82, -95.67]),
  1: array([ 36.27, -95.91]),
  2: array([ 35.99 , -95.88]),
  3: array([ 36.18, -96.40]),
  4: array([ 35.99 , -95.90])},
 'TeamB': {0: array([[ 35.74  , -95.36],
         [ 36.19 , -95.92]]),
  1: array([[ 35.82, -95.67],
         [ 35.98 , -95.81 ]]),
  2: array([[ 36.27, -95.91],
         [ 36.08 , -95.96 ]]),
  3: array([[ 35.99 , -95.88],
         [ 35.75 , -95.34]]),
  4: array([[ 36.18, -96.40],
         [ 36.07 , -95.89 ]])}} 

1 个答案:

答案 0 :(得分:0)

我知道了溶胶。我们可以使用from_records

    pd.DataFrame.from_records(df['TeamB'])