質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.47%
Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

2回答

1322閲覧

pivotの限界について

jun.k

総合スコア28

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2017/09/12 07:04

データフレーム化したデータ(df)の行列を再配置すべく、df1=df.pivot('date','ric','price')としたいのですが、エラーで処理されません。

エラーコードは一番下の行が、
Value Error:Index contains duplicate entries, cannnt reshape
とありますので、データ量自体が大きすぎるかなと思うのですが、データ要素自体は特に複雑ということはないと思います(日付と価格情報)

データはindexが1514428、columnsが8です。

データ量を絞るしかないのでしょうか。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

['date','ric']が同一の(重複)行が複数存在すると同様エラーが発生します。
.drop_duplicatesで重複行を除去するか.pivot_tableを利用してください。
参考:Pandas pivot warning about repeated entries on index

Python

1import pandas as pd 2 3df = pd.DataFrame({'foo': ['one','one','one','two','two','two','two'], 4 'bar': ['A', 'B', 'C', 'A', 'B', 'C','C'], 5 'baz': [1, 2, 3, 4, 5, 6,6]}) 6 7# 方法1:drop_duplicatesする 8#df = df.drop_duplicates(['foo','bar']) 9#df2 = df.pivot('foo', 'bar','baz') 10 11# 方法2:pivot_tableを使う 12df2 = df.pivot_table(index='foo', columns='bar', values='baz') 13 14#print('---\n',df) 15print('---\n',df2)

投稿2017/09/12 07:41

can110

総合スコア38267

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun.k

2017/09/12 08:15

coco_bauer様のご教示で解決したのですが、具体的なコード例まで載せて頂いたので大変わかりやすかったです。ありがとうございました!!。
guest

0

Value Error:Index contains duplicate entries, cannnt reshape
(Indexに重複した項目があるので、再配置できません)
というのがエラーメッセージなのですから、データ量の問題ではなく、データの内容に問題があります。

データの内容を精査して、
・重複を削除して問題なければ、indexが重複するデータの削除で対処
・重複を削除できないのであれば、pivotではなくpivot_tableをつかって複数の表に再配置する等の対処
をするなどの選択枝がありそうに思えます。
(どのようなデータであるのかが判りませんので、具体的な助言はできかねます)

投稿2017/09/12 07:37

coco_bauer

総合スコア6915

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

jun.k

2017/09/12 08:12

エラーメッセージの読み違えしていました。重複はそのままにしておきたいので、pivot_tableを使ってできました。早々とご回答いただきありがとうございました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.47%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問