将包含二维数组的单元格展开到它们自己的变量中

2024-09-28 19:27:28 发布

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

我的数据框是这样的

 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] .....

我可以用1D

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

如何使用二维数组实现这一点

这是我的df.head(5).to\ u 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 ]])}} 

Tags: 数据df记录数组arraypdarrayssuch