【发布时间】:2019-01-14 07:30:14
【问题描述】:
我有一个这样的熊猫:
df =
cid pid purl tid turl sid surl
c1 p1 urlp1 t1 urlt1 s1 urls1
c1 p1 urlp1 t1 urlt1 s2 urls2
c1 p1 urlp1 t1 urlt1 s3 urls3
c2 p2 urlp2 t2 urlt2 s5 urls5
c2 p2 urlp2 t2 urlt2 s6 urls6
我想要的是这样的结果:
cid uid url
c1 p1 urlp1
c1 t1 urlt1
c1 s1 urls1
c1 s2 urls2
c1 s3 urls3
c2 p2 urlp2
c2 t2 urlt2
c2 s5 urls5
c2 s6 urls6
我尝试使用pd.melt 来实现这一点,但我只能部分这样做:
df2 = pd.melt(df, id_vars = 'cid', value_vars = ['pid','tid','purl'], value_name = 'userid')
如何获得更多列?我需要更多 value_name 的列吗?我怎样才能做到这一点?
【问题讨论】:
-
您可以使用这些列将第一个数据框拆分为三个数据框。
[cid, pid, urlp]、[cid, tid, urlt]、['cid, sid, urls']。拆分后,您可以使用 cid 将所有这些合并到一个数据框中。