如何将数据框中的数据更改为 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)
我有一个问题。 所以我有这种列和行的数据:
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)