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

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

新規登録して質問してみよう
ただいま回答率
85.50%
for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

pandas

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

Q&A

解決済

1回答

394閲覧

繰り返し処理を用いたデータ集計:値がある限り続けたい

ak_miyamoto

総合スコア31

for

for文は、様々なプログラミング言語で使われている制御構造です。for文に定義している条件から外れるまで、for文内の命令文を繰り返し実行します。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

while

Whileは多くの言語で使われるコントロール構造であり、特定の条件が満たされる限り一連の命令を繰り返し実行します。

pandas

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

0グッド

1クリップ

投稿2017/12/24 07:44

環境:python3,Win10

初学者です。以下のような表について、カラム「データX」の項目ごとに集計を行い出力したいと考えています。つまり、カラム「データX」がn種類あれば、そのn種類ごとに作業を繰り返してほしいと考えています。集計の中身としてはpandasやNumpyを用いた作業です。

たとえば以下のようなデータがあるとすれば、
|データX|データ1|データ2|データ3|データ4|データ5|
|:--|:--:|--:|
|a|1|2|3|4|5|
|b|2|3|4|4|5|
|c|(以下値あり)|…|…|…|…|…|
|a|||||||
|c|||||||
|b|||||||
|b|||||||
|a|||||||
|c|||||||

以下のようなデータを出力したいと考えています。

  • データXが「a」のデータについての集計ファイル.csv
  • データXが「b」のデータについての集計ファイル.csv
  • データXが「c」のデータについての集計ファイル.csv

しかし、これを実行するためにどんな文を書いたらよいかわかりません。以下のような感じになるのでしょうか。

Python3

1#元データの読み込みをする文 2for i in:#ここに何と書けばよいかわかりません。 3 #集計処理の文 4 #出力処理の文

PandasやNumpyに沿った方法であればなお助かります。
ご指導のほどよろしくお願いいたします。

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

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

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

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

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

guest

回答1

0

ベストアンサー

python

1import pandas as pd 2x= pd.DataFrame({"データX": ["a","b"], 3 "データ1": [1,2], 4 "データ2": [2,3], 5 "データ3": [3,4], 6 "データ4": [4,4], 7 "データ5": [5,5] 8 }) 9 10for g in x.groupby("データX"): 11 print("index " + str(g[0])) 12 print(g[1])

インデックスとして使うべきデータXの値がg[0]に入っており、それに対応するxのサブセットがg[1]入っていることが、これで確認できます。
したがって、g[1]を対象とした集計・出力処理を続けて書けば目標が達成できると思います。

投稿2017/12/24 11:45

KojiDoi

総合スコア13669

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

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

ak_miyamoto

2017/12/25 07:33

ありがとうございます。 追加の質問で恐縮なのですが、もしそのfor文の中で ・”データX”の要素名(sampleでいうならa,b,c)を文字列として取得し、 ・出力するファイル名などとして使用(for文の中で自動的にネーミングされるようにする) していきたい場合には、どのような抽出作業が必要となるでしょうか?
KojiDoi

2017/12/25 07:39

g[0]使えばいい。
ak_miyamoto

2017/12/25 08:30

うまくいきました。ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問