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

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

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

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

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

pandas

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

Q&A

解決済

1回答

742閲覧

縦持ちのデータを横持ちにした際に、文字列をvaluesとして持つには

onosan

総合スコア59

Python 3.x

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

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

pandas

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

0グッド

1クリップ

投稿2020/04/18 12:33

Python3初心者です。以下のようなデータがあった時に、Qフラグをカラム方向に持って、シェアとproductを横に展開するにはどうすればよいでしょうか
例えば、下記のようなデータ(df)があるとします。

|brick_id |Qフラグ|product|シェア|
|:--|:--:|--:|
|1012416 |FY19-1Q |サインバルタ計| 0.968139921
1012416| FY19-2Q |サインバルタ計 |0.978196969
1012416| FY20-1Q |サインバルタ計 |0.931089373
1012416 |FY20-2Q |サインバルタ計 |0.936407117
1012417 |FY19-1Q |リリカ |0.482835182
1012417 |FY19-2Q |リリカ |0.47044729
1012417 |FY20-1Q |リリカ |0.539079219
1012417 |FY20-2Q |リリカ |0.582234848

この時、Qフラグは四半期なのですがこの四半期を横持ちにして、シェアとproductを表出させたいと考えています。

イメージ的には
|brick_id |FY19-1Qシェア|FY19-2Qシェア|FY20-1Qシェア|FY20-2Qシェア|FY19-1Q product|FY19-2Q product|FY20-1Q product|FY20-2Q product|
|:--|:--:|--:|
|1012416|0.968139921|0.978196969|0.931089373||サインバルタ計|サインバルタ計|サインバルタ計|
|1012417|0.482835182|0.47044729|0.539079219|0.582234848|リリカ|リリカ|リリカ|リリカ|

のような表を作成したいと考えております。

これを

df2 = pd.pivot_table(df, index=['brick_id'], columns=['Qフラグ'],values=['product','シェア'])

と行うと当然、productは文字列なので、横方向に展開できません。
どのようにしたら、目標とするような表を作成することができるでしょうか。
初心者的な質問で恐縮です。何卒、よろしくお願い申し上げます。

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

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

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

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

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

guest

回答1

0

ベストアンサー

pivotでは駄目ですか?

Python

1print(df.pivot(index='brick_id', columns='Qフラグ')) 2# product シェア 3#Qフラグ FY19-1Q FY19-2Q FY20-1Q FY20-2Q FY19-1Q FY19-2Q FY20-1Q FY20-2Q 4#brick_id 5#1012416 サインバルタ計 サインバルタ計 サインバルタ計 サインバルタ計 0.968140 0.978197 0.931089 0.936407 6#1012417 リリカ リリカ リリカ リリカ 0.482835 0.470447 0.539079 0.582235

投稿2020/04/18 13:01

meg_

総合スコア10605

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

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

onosan

2020/04/18 13:18

pivot_tableは知っておりましたが、pivotを知りませんでした。お恥ずかしい限りです。氷解しました。 ありがとうございました!助かりました!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問