python - 使用 pandas 操作数据框

标签 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 第一列,在本例中是问题的唯一标识符。 如何解决这个问题?

最佳答案

我认为需要 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

关于python - 使用 pandas 操作数据框,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49624168/

相关文章:

Python 和 Pandas : match and transpose

python - 如何从使用 pandas 上传的大型 CSV 文件中仅打印某些行

R:根据列值从数据帧中提取行号到向量中

python - 如何从 pandas DataFrame 输出带有合并单元格的 html 表格

python - python中如何移动到下一个文件

python - 对存储在 n 维 numpy 数组中的所有矩阵进行批处理

Python 通过套接字发送命令

python - 如何在后台运行进程并覆盖标准流

python - Pandas 箱线图,在每个子图中按不同的 ylim 分组

python - 如何移动 Pandas Dataframe 列?