重複した行を持つDataFrameがあります。私は一意のインデックスと重複なしでDataFrameを取得したいと思います。重複した値を破棄しても問題ありません。これは可能ですか?それはgroupby
で完了するだろうか?パンダ:独自のデータフレーム
答えて
In [29]: df.drop_duplicates()
Out[29]:
b c
1 2 3
3 4 0
7 5 9
split-apply-combineドキュメントの例を読むと、それを行う方法がわかります。
df = pandas.DataFrame({'b':[2,2,4,5], 'c': [3,3,0,9]}, index=[1,1,3,7])
df_unique = df.groupby(level=0).first()
df
b c
1 2 3
1 2 3
3 4 0
7 5 9
df_unique
b c
1 2 3
3 4 0
7 5 9
これは、行インデックスはデータフィールド(B、C)を効果的にあなたがユニークになりたいのベクターとして、あなたの行のインデックス部分を作り、重複している(重複しない行に対して複製さに依存しています)。 – hobs
インデックスエントリが重複している場合は、これが目的の答えです。 – rogueleaderr
MultIndexで 'unstack'を実行したときに' ValueError:Indexが重複するエントリを含んでいて、再形成できません 'というメッセージが表示されましたが、このソリューションは 'df_unique = df.groupby(level = [0,1]) first() ' – dashesy
- 1. パンダはパンダのデータフレームの列
- 2. パンダはパンダのデータフレームに「NA」
- 3. パンダ:データフレーム
- 4. パンダ:データフレーム
- 5. パンダ:データフレームのサンプリング
- 6. はパンダのデータフレーム
- 7. 列パンダのデータフレーム
- 8. パンダのデータフレームgroupby
- 9. パンダのデータフレーム
- 10. パンダのデータフレーム:.INDEX
- 11. パンダのデータフレーム3
- 12. のpythonパンダ - データフレーム
- 13. Pythonのパンダ:データフレーム
- 14. パンダのデータフレーム
- 15. パンダのデータフレームに
- 16. パンダのデータフレーム
- 17. パンダ - 列のデータフレーム
- 18. パンダのデータフレーム
- 19. パンダのデータフレームloc
- 20. パンダのデータフレーム
- 21. パンダのデータフレームの列
- 22. パンダのデータフレームのキュービックルート
- 23. パンダ:なぜ、データフレーム
- 24. パンダ階層データフレーム
- 25. パイソン(パンダ) - データフレーム
- 26. パンダは - データフレーム
- 27. パイソン:パンダ - データフレーム列
- 28. パンダは、データフレーム
- 29. 列名パンダのデータフレーム
- 30. パンダのデータフレームとKeras
これは、最初または最後のオカレンスのいずれかを取ることに注意する価値があります。だから、もしあなたが何か他の数量で最初にソートする必要があります(もしあなたが幸運であれば)か、何らかの複雑なgroupbyロジックをとにかく実行します。 – ely
これは間違っています。 drop_duplicatesは値に対してのみ動作します(少なくとも私のバージョンでは)。インデックスと値を削除する場合は、reset_indexを指定する必要があります。ユニークなインデックスを作成する場合は、インデックスを使用するだけです。ユニークなインデックスを適用するためにgroupbyの他に別の方法があるのでしょうか? – mathtick
新しい変数を割り当てたくない場合は 'df.drop_duplicates(inplace = True)'を使います。 –