Python 数据帧:将多列拆分为多列

Python 数据帧:将多列拆分为多列,python,pandas,Python,Pandas,我有一个这种格式的熊猫数据帧 Var1 Var2 Var2 A [2016-09-26, 2016-08-25, 2016-08-06] [u'1', u'5', u'4'] B [2016-09-26, 2016-08-25, 2016-08-06] [u'1', u'5', u'4'] 我想把它转换成以下格式 Var1 Var2 Var3 A 2016-0

我有一个这种格式的熊猫数据帧

   Var1                  Var2                        Var2
    A   [2016-09-26, 2016-08-25, 2016-08-06] [u'1', u'5', u'4']
    B   [2016-09-26, 2016-08-25, 2016-08-06] [u'1', u'5', u'4']
我想把它转换成以下格式

Var1     Var2      Var3
 A    2016-09-26    1
 A    2016-08-25    5
 A    2016-08-06    4
 B    2016-09-26    1
 B    2016-08-25    5
 B    2016-08-06    4
谁能告诉我怎么做吗


非常感谢

如果列
Var2
Var3
中的值在
列表中,您可以使用legths by重复值和嵌套
列表的flat值
by
chain

print (type(df.Var2.iat[0]))
<class 'list'>

print (type(df.Var3.iat[0]))
<class 'list'>

from  itertools import chain

df1 = pd.DataFrame({
        "Var1": np.repeat(df.Var1.values, df.Var2.str.len()),
        "Var2": list(chain.from_iterable(df.Var2)),
        "Var3": list(chain.from_iterable(df.Var3))})

print (df1)
  Var1        Var2 Var3
0    A  2016-09-26    1
1    A  2016-08-25    5
2    A  2016-08-06    4
3    B  2016-09-26    1
4    B  2016-08-25    5
5    B  2016-08-06    4
打印(类型(df.Var2.iat[0]))
打印(类型(df.Var3.iat[0]))
来自itertools进口链
df1=pd.DataFrame({
“Var1”:np.repeat(df.Var1.values,df.Var2.str.len()),
“Var2”:列表(chain.from_iterable(df.Var2)),
“Var3”:列表(chain.from_iterable(df.Var3))})
打印(df1)
Var1 Var2 Var3
0 A 2016-09-26 1
1A 2016-08-25 5
2 A 2016-08-06 4
3B 2016-09-26 1
4 B 2016-08-25 5
5b 2016-08-06 4

@jazrael:非常感谢!这个答案完美地解决了我的问题。太好了,很高兴能帮助你。天气真好!