pandas - 在列透视期间保留最后一个重复索引?
问题描述
keep='last'
实现当前不支持的参数意图的 Pandasic 方式是什么pivot
,例如,以下内容DataFrame
:
df.pivot(columns='a', keep='last')
鉴于此数据框:
df = pd.DataFrame([{'i':0 if random.random()<.5 else random.random(),'a':['abc','def','ghi','jkl'][int(random.random()*4)],'b':random.random(),'c':random.random()} for _ in range(20)])
df.i = df.i.cumsum()
df = df.set_index('i')
a b c
i
0.000000 ghi 0.857628 0.856835
0.011049 abc 0.000408 0.189136
0.111914 ghi 0.785439 0.716488
0.111914 abc 0.168402 0.177056
0.111914 ghi 0.757416 0.763886
0.111914 ghi 0.807576 0.339000
0.574349 abc 0.508411 0.386711
0.574349 abc 0.347667 0.511798
0.650300 def 0.428700 0.176682
0.947907 def 0.308117 0.413609
1.503684 jkl 0.020903 0.974225
1.503684 jkl 0.836817 0.609914
1.659698 jkl 0.002263 0.508951
1.673570 jkl 0.552632 0.208657
1.673570 ghi 0.424978 0.573951
2.497983 jkl 0.657852 0.896766
2.994696 jkl 0.768899 0.988074
3.165982 def 0.848905 0.803382
3.480295 jkl 0.539529 0.772906
3.548527 abc 0.534413 0.974576
我想在执行以下操作时只保留最后一个重复的索引条目:
df.pivot(columns='a')
请注意,例如,对于 ' ' 和 ' ' 的所有四个预期列i=0.111914
都有值,它们必须与 common index 共享一行。MultiIndex
ghi
abc
i=0.111914
解决方案
推荐阅读
- java - 如何使用自定义文件登录用户,比如他的 CNIC 号码或血型?
- optimization - Z3 是否给出求和的最大值
- javascript - 如何将简单的迭代器转换为 javascript 生成器
- python - 在这种情况下,python 中的内存分配如何工作?
- javascript - 如何同步运行getJSON?
- python - 如何在python中从dnf或rpmdb获取下载url
- php - 如何访问2个表之间的相同命名列
- javascript - 反应:this.setState 不重置状态
- reactjs - 无法渲染 todoItems
- python - Django Rest Framework 更新不保存更改