我有一个数据框,我想做一些改变。下面是一个示例:
d = {'username': ['a', 'a', 'b', 'a', 'a'],
'state': ['AR', 'AZ', 'CA', 'CO', 'NY'],
'status': ['ADD', 'ADD', 'REMOVE', 'ADD', 'REMOVE']}
df = pd.DataFrame(data=d)
我知道如何分组并加入美国:
df = df.fillna('').groupby(['username', 'status'], as_index=False)['state'] \
.apply(lambda x: ','.join(set(x))) \
.reset_index() \
.rename({0: 'state'}, axis=1)
但最后我得到了这样的东西,但仍然不是我所需要的:
username status state
a ADD AR,AZ,CO
a REMOVE NY
b REMOVE CA
我想制作这份最终报告:
username ADD REMOVE
a AR,AZ,CO NY
b CA
有什么想法吗?你知道吗
非常感谢!你知道吗
我们可以在这里使用^{} 和自定义
aggfunc
:很接近了,在} 之前:
reset_index
使用^{或者将^{} 与convert index to column by } 删除列名:
reset_index
一起使用,并通过^{编辑:
如果按3列使用^{} ,则可以使用删除
set
的解决方案:为了更好的解释,更改了样本数据:
相关问题 更多 >
编程相关推荐