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

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

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

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

pandas

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

Q&A

解決済

1回答

1348閲覧

Pandasのgroupby関数に動的変数を使いたいです。

amaturePy

総合スコア131

Python 3.x

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

pandas

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

0グッド

0クリップ

投稿2021/05/27 16:23

データフレームの各値ごとの総数を出力するコードを作成しています。
そこでPandasのgroupbyを使っているのですが、引数に渡す列名(push1_date)を動的に処理したいです。
現状はFor文による動的変数を入れようとしております。
調べるとヘッダーやゲッターなどを使う記事などが出てきたのですが、ここら辺の概念理解が追いつかず、他に何か良い方法はないかご教授頂きたいです。
format関数などを使っては見たものの、データフレームオブジェクトには使えないよう
でエラーになりました。
よろしくお願いします。
参照記事

groupbyによる計算処理部分 def get_count(values): return len(values) grouped_count = push_date_df.groupby("push1_date").push1_date.agg(get_count) print(grouped_count)
出力 2021-05-21 13 2021-05-22 11 2021-05-23 27 2021-05-24 12 2021-05-25 16 2021-05-26 9 2021-05-27 10
DataFrame push1_date push2_date push3_date push4_date push5_date push6_date push7_date push8_date 0 None None None None None None None None 1 None None None None None None None None 2 None None None None None None None None 3 None None None None None None None None 4 None None None None None None None None ... ... ... ... ... ... ... ... ... 1243 2021-02-27 None None None None None None None 1244 None None None None None None None None 1245 2021-01-27 None None None None None None None 1246 2021-04-27 None None None None None None None 1247 None None None None None None None None

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

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

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

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

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

quickquip

2021/05/27 23:56 編集

やりたいことを言葉で説明できないようでしたら、質問に書くものは コピーするだけで動く小さなコードとデータ と 欲しい結果 にするのがいいですよ。
amaturePy

2021/05/28 00:27

失礼しました。お恥ずかしいですが、再度文章見直します????‍♂️
guest

回答1

0

ベストアンサー

動的変数という言葉の意味が不明です。

やりたいかもしれないことを適当に想像して作ってみると、以下です。

python

1>>> print(push_date_df) 2 push1_date push2_date push3_date 30 2021-01-27 None None 41 None 2021-05-25 None 52 None None 2021-04-27 63 None 2021-05-26 None 74 2021-05-25 None 2021-01-27 85 2021-02-27 None None 96 None 2021-05-26 2021-04-27 107 2021-01-27 None None 118 2021-04-27 None None 129 None None 2021-01-27 13>>> for c in push_date_df.columns: 14... print(push_date_df.groupby(c)[c].count()) 15... 16push1_date 172021-01-27 2 182021-02-27 1 192021-04-27 1 202021-05-25 1 21None 5 22Name: push1_date, dtype: int64 23push2_date 242021-05-25 1 252021-05-26 2 26None 7 27Name: push2_date, dtype: int64 28push3_date 292021-01-27 2 302021-04-27 2 31None 6 32Name: push3_date, dtype: int64

投稿2021/05/27 17:49

ppaul

総合スコア24666

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

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

amaturePy

2021/05/28 00:30

ありがとうございます。まさにご提供頂いたコードが実装したい内容になります。 動的変数という言葉確かに見返すと意味が不正確でした。お恥ずかしいですが、再度、文章を見直して、今後に活かそうと思います。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問