如何将数据框中的数据更改为 python 中的多行

How change data in dataframe into multiple row in python

我有一个问题。 所以我有这种列和行的数据:

OrderNum   WPNo ProdNum
       1   23       4
       1   56       2
       1   35       4
       2   54       7

所以我想改成:

OrderNum WPNo
1        23
1        23
1        23
1        23
1        56
1        56

我很难更改它,因为这是我第一次在 python 中编写代码。 你能帮助我吗?我使用带有 python 3.0

的 jupyter notebook

谢谢

你的数据是csv格式的吗?在这种情况下,只需尝试删除第一个和第三个项目之间的单词。如果它是列表或其他数据结构,您可以尝试使用标准方法对其进行处理。

假设您已经将 table 加载到 pandas 数据帧中

import pandas
df = pandas.DataFrame({"OrderNum": [1,1,1,2],"WPNo": [23,56,35,54],"ProdNum": [4,2,4,7]})
df_new = df.reindex(df.index.repeat(df.ProdNum))
df_new = df_new.drop("ProdNum",1).reset_index(drop=True)
df_new

试试这个

df = df[['OrderNum','WPNo']].loc[df.index.repeat(df.ProdNum)].reset_index(drop=True)