🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

599閲覧

mapメソッドについて

nya-su

総合スコア1

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

2クリップ

投稿2021/01/28 13:47

pythonのmapメソッドについて質問です

発生している問題

map関数を用いてもYesを1,NOを0にすることができずNaNになります

該当のソースコード

data = raw_data.copy() data["Admitted"] = data["Admitted"].map({"YES":1,"NO":0}) data.head(30)``` ---- ### 試したこと![イメージ説明](e2533bcd4609b93ae0d9f9664611b000.png) ここに問題に対して試したことを記載してください。 ### 補足情報(FW/ツールのバージョンなど) python3を使っています

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

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

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

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

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

takutakuya

2021/01/28 14:14

raw_dataの中身が見たいです。 Admitted列にYES、NO以外が入ってたりしませんか?
takutakuya

2021/01/28 14:15

大文字、小文字が一致してなくても、NaNになると思います。
nya-su

2021/01/29 10:28

takutakuyaさん ありがとうございます! 解決することができました! 本当に助かりました!ありがとうございます!
guest

回答1

0

ベストアンサー

YESと見えているものが文字列の'YES'ではないという可能性があります。
同じような状況を再現してみましょう。

python

1import pandas as pd 2 3class mimic: 4 def __init__(self, original): 5 self.original = original 6 def __str__(self): 7 return str(self.original) 8 9raw_data = pd.DataFrame({'SAT':[1363, 1792], 'Admitted':[mimic('YES'), mimic('NO')]}) 10 11data = raw_data.copy() 12print(data) 13data["Admitted"] = data["Admitted"].map({"YES":1,"NO":0}) 14print(data)

実行結果は、

python

1>>> data = raw_data.copy() 2>>> print(data) 3 SAT Admitted 40 1363 YES 51 1792 NO 6>>> data["Admitted"] = data["Admitted"].map({"YES":1,"NO":0}) 7>>> print(data) 8 SAT Admitted 90 1363 NaN 101 1792 NaN

これに類する原因による問題であれば、以下のようにすれば分かります。

python

1>>> print(type(raw_data['Admitted'][0])) 2<class '__main__.mimic'>```

投稿2021/01/28 23:04

ppaul

総合スコア24670

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

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

nya-su

2021/01/29 10:30

ppaulさん ここまで親切にコードを書いてくださりありがとうございます! 無事解決することができました! 本当に助かりました! 引き続きpythonの勉強頑張っていきます! ありがとうございました!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問