首页 > 解决方案 > 数据框中的重复行添加新的自定义列

问题描述

我有2个系列

s1 = pd.Series(["val1","val2","val3"],index=["var1","var2","var3"],name="one")
s2 = pd.Series(["A","B","C"],name="two")

我的最终目标是获得这样的数据框(变量是列,索引被省略):

var1 var2 var3 var4
val1 val2 val3 A
val1 val2 val3 B
val1 val2 val3 C

有什么方法可以轻松实现这一目标吗?

更一般地说,假设我有一个像这样的数据框(阅读下面的-Note 2-)

      var1  var2  var3
   1 val11 val12  A,B,C
   2 val21 val22  D,E,F,G,H
   ........................

如何获得以下数据框?

var1  var2 var3
val11 val12    A
val11 val12    B
val11 val12    C
val21 val22    D
val21 val22    E
val21 val22    F
val21 val22    G
val21 val22    H
................

注意 1:这里所有的值 (val1,var1,A...) 都可以被认为是包含与其名称相等的值的字符串 ("val1","var1","A")。注意2:一般问题的var3列中的“,”只是某种字符串连接。例如:字符串“A,B,C”和“D,E,F,G,H”。本质上它是一个字符串,其中包含我应该使用所需的任何函数检索的值(在这种情况下,您可以使用 split(","))

标签: pythonpandasdataframeconcatenationseries

解决方案


推荐阅读