有没有一种方法可以将Pandas DataFrame行中的值列表转换为多列?

时间:2019-08-31 17:57:21

标签: python pandas

我正在尝试将Dataframe行中的值列表转换为单独的列

我尝试使用数据透视表,数据透视表和get_dummies,但无法获得预期的结果。

实际列:

A      B

1  [1, 3, 5]
2  [2, 4, 6]

预期输出:

 A B_1 B_2 B_3

 1  1   3   5
 2  2   4   6

1 个答案:

答案 0 :(得分:1)

一种方法:

df_out = df.set_index('A').explode('B')
df_out = df_out.set_index(df_out.groupby(level=0).cumcount() + 1, append=True).unstack()
df_out.columns = [f'{i}_{j}' for i, j in df_out.columns]
df_out.reset_index()

输出:

   A B_1 B_2 B_3
0  1   1   3   5
1  2   2   4   6