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

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

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

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

pandas

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

Q&A

解決済

1回答

1133閲覧

PythonのライブラリPandasの分からない文法(置換)

TestUser2009

総合スコア14

Python 3.x

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

pandas

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

0グッド

0クリップ

投稿2020/02/10 14:55

以下の書き方を初めて知りました。
DataFrame['項目名'][条件式]=項目名と置換する値
といったような使い方はPandas特有ですか?
それともPython特有ですか?
Javaは書いたことあるのですが、Pythonのこういった書き方は初めて見ました。
可能でしたら、解説付きでご回答いただけますと幸いです。

例)
※trainの型はpandasのdataframeです。

Python

1train["Sex"][train["Sex"] == "male"] = 0 2train["Sex"][train["Sex"] == "female"] = 1

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

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

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

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

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

guest

回答1

0

ベストアンサー

Pandas や numpy 特有ですけど、Pythonの機能で作り出すことができますよ。

実装例

python

1class Sample(list): 2 def __eq__(self, value): 3 return [item == value for item in self] 4 def __setitem__(self, where, value): 5 for i, replace in enumerate(where): 6 replace and super().__setitem__(i, value) 7 8train = Sample(['male', 'female', 'female', 'male', 'female']) 9print(train == 'male') 10train[train == 'male'] = 0 11print(train)

実行結果:

python

1[True, False, False, True, False] 2[0, 'female', 'female', 0, 'female']

投稿2020/02/10 15:01

編集2020/02/10 15:16
shiracamus

総合スコア5406

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

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

TestUser2009

2020/02/10 15:14

素早いご回答ありがとうございます。 Pandas特有なんですね。 ちなみに、私の書いたコードはエラーとなってしまいました。 その代わり、mapを使って置換しました。 Pythonはいろんなことができるし、直感的なコーディングができるけど その分複雑で難しいなぁって思いました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.46%

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

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

質問する

関連した質問