首页 > 解决方案 > 我们可以在 pandas 列中展开列表吗

问题描述

我有我的熊猫df,如下所示。它在其中一列中有列表,可以按如下方式展开:?

import pandas as pd
L1 = [['ID1', 0, [0, 1, 1] , [0, 1]],
      ['ID2', 2, [1, 2, 3], [0, 1]]
      ]

df1 = pd.DataFrame(L1,columns=['ID', 't', 'Key','Value'])

可以像下面这样放松吗?

import pandas as pd
L1 = [['ID1', 0, 0, 1, 1 , 0, 1],
      ['ID2', 2, 1, 2, 3, 0, 1]
      ]

df1 = pd.DataFrame(L1,columns=['ID', 't', 'Key_0','Key_1','Key_2','Value_0', 'Value_1'])

标签: pandas

解决方案


您可以L1在构建数据框之前展平:

L2 = [ row[0:2] + row[2] + row[3] for row in L1 ]
df2 = pd.DataFrame(L2,columns=['ID', 't', 'Key_0','Key_1','Key_2','Value_0', 'Value_1'])

推荐阅读