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

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

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

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

Q&A

解決済

1回答

970閲覧

pandas マトリクス集計表 columns挿入

mn.py

総合スコア41

Python 3.x

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

pandas

Pandasは、PythonでRにおけるデータフレームに似た型を持たせることができるライブラリです。 行列計算の負担が大幅に軽減されるため、Rで行っていた集計作業をPythonでも比較的簡単に行えます。 データ構造を変更したりデータ分析したりするときにも便利です。

0グッド

0クリップ

投稿2020/09/30 06:20

編集2020/09/30 11:10

マトリクス集計表を作りたいです

python

1#CSV読み込み 2df = pd.read_csv('./data.csv') 3

csvファイルの中身
A B C
1 1 1
2 1 3
3 0 1
4 1 5
5 1 6

python

1xxb=df.pivot_table(index='A', columns='C', values='B', fill_value=0) 2

xxbの中身
C 1 3 5 6

A
1 1 0 0 0
2 0 1 0 0
3 0 0 0 0
4 0 0 1 0
5 0 0 0 1

やりたいこと

以下のように、Cがない所も0が入った列を作って埋めたいです。

C 1 2 3 4 5 6

A
1 1 0 0 0 0 0
2 0 0 1 0 0 0
3 0 0 0 0 0 0
4 0 0 0 0 0 0
5 0 0 0 0 1 1

試してみたこと

python

1df.insert(1,'2', 0) 2df.insert(2,'4',0)

単純に一つづつの列の追加をしていく方法しかわかりませんでした。。。
本来のデータはCに30000ほどのデータが数値飛び飛びで入っています。
できればCの数値が飛んでいた場合には、上記のように間の数値を埋めるような列(valueは0が入った)を挿入するような処理をしたいです。
初歩的な質問かもしれませんが、ご教授いただけたらと思います。
よろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

Python

1xxb=df.pivot_table(index='A', columns='C', values='B', fill_value=0) 2 3for i in range(1, max(xxb.columns)): 4 if not i in xxb.columns: 5 xxb[i] = 0 6xxb = xxb.reindex(columns=xxb.columns.sort_values()) 7print(xxb) 8 9#C 1 2 3 4 5 6 10#A 11#1 1 0 0 0 0 0 12#2 0 0 1 0 0 0 13#3 0 0 0 0 0 0 14#4 0 0 0 0 1 0 15#5 0 0 0 0 0 1

投稿2020/09/30 11:03

編集2020/09/30 11:08
meg_

総合スコア10607

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

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

mn.py

2020/09/30 11:12

ありがとうございます!試してみます!
mn.py

2020/10/01 03:42

ちゃんと処理できました!本当にありがとうございました。勉強になりました!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問