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

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

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

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

Q&A

解決済

1回答

7281閲覧

pandas groupbyで文字列を値とした場合について

退会済みユーザー

退会済みユーザー

総合スコア0

pandas

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

0グッド

1クリップ

投稿2017/12/04 03:14

groupbyに関して、文字列を値とした場合に、集約関数max(),min()を適用して得られた結果が理解できません。最大、最小をどのように捉えればいいのでしょうか。教えて頂けると幸いです。

df = pd.DataFrame({'Customer': list('AAAABBB'), 'Product': ['TV', 'Video', 'Video', 'Video', 'Camera', 'TV', 'Camera']})
CustomerProduct
0ATV
1AVideo
2AVideo
3AVideo
4BCamera
5BTV
6BCamera
df.groupby('Customer')['Product'].min() Customer A TV B Camera Name: Product, dtype: object
df.groupby('Customer')['Product'].max() Customer A Video B TV Name: Product, dtype: object

参考にしたサイト
groupby の初歩と python(DataFrame)によるサンプル

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

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

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

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

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

guest

回答1

0

ベストアンサー

文字列比較の結果 'Camera' < 'TV' < 'Video' となるからではないでしょうか。

投稿2017/12/04 05:43

koneix

総合スコア15

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

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

退会済みユーザー

退会済みユーザー

2017/12/04 11:56

回答ありがとうございます! そもそも基本的な部分がわかっておらず、見当違いかもしれませんが、文字列と文字列の大なり小なりは下のリンクにあるように内部でord()関数の結果を比較しているという事でしょうか。 https://qiita.com/ninomiyt/items/bd3e1e441b6b79328de7
koneix

2017/12/05 00:08

文字列は辞書順で比較されますので次のようになります。 >>> 'Camera' < 'TV' < 'Video' True 実際にどうなるかは試してみることをお勧めします。
退会済みユーザー

退会済みユーザー

2017/12/05 02:18

そういうことでしたか。上に挙げたサイト内でも「辞書的に比較」とありましたが、Pythonの辞書型を連想して、いまいち理解できずにいました。おかげさまで疑問が解けました。 koneixさん、ありがとうございましたm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問