我想按列值对行进行分组。
这就是数据框的样子:
Id model c3 c4 c5 c6 ...etc
174_ap c:143 ar ...
174_dp c:143 rv ...
777_ap c:177 gb ...
777_dp c:177 ch ...
每辆车有2行,ap是签入时的第一张支票,结帐时是支票。由于模型只在我想加入的行上重复,我尝试用它加入:
df = df.groupby('model')
但是由此产生的df看起来与前一个完全相同,没有任何改变。
我在这里做错了什么?
PS。:每辆车和支票的列数各不相同。
答案 0 :(得分:0)
答案 1 :(得分:0)
我拆分Id
,使用拆分设置索引并取消堆栈。
idx = df.Id.str.split('_', expand=True).values.T.tolist()
df.drop('Id', 1).set_index(idx).stack().unstack([1, 2])
ap dp
model c3 c4 c5 model c3 c4 c5
174 c:143 ar ar ar c:143 rv rv rv
777 c:177 gb gb gb c:177 ch ch ch