使用pandas操作数据框

时间:2018-04-03 07:06:41

标签: python pandas dataframe

我有一个这样的数据框:

df = pd.DataFrame({'col1':list('abc'),
                   'col2':list('xyz'),
                   'col3':[10,20,30]})

print (df)
  col1 col2  col3
0    a    x    10
1    b    y    20
2    c    z    30

我想创建一个这样的数据框:

  col1 col2  col3
0    a    x    10
1    a    y    20
2    a    z    30
3    b    x    10
4    b    y    20
5    b    z    30
6    c    x    10
7    c    y    20
8    c    z    30

w.r.t第一列,在这种情况下是问题的唯一标识符。 如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我认为需要list comprehension使用zip第二和第三列:

from  itertools import product

L = [[i, *j] for i, j in product(df['col1'], zip(df['col2'], df['col3']))]
df = pd.DataFrame(L, columns=['col1','col2','col3'])
print (df)
  col1 col2  col3
0    a    x    10
1    a    y    20
2    a    z    30
3    b    x    10
4    b    y    20
5    b    z    30
6    c    x    10
7    c    y    20
8    c    z    30