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

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

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

integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

Q&A

解決済

1回答

1148閲覧

nullの値がないのに、、、実行できないです。ValueError: Cannot convert non-finite values (NA or inf) to integer

jury_new

総合スコア31

integer

integerは、一般的に整数を表します。プラスやマイナス、ゼロもなりうる全ての数です。(例 : -2, -1, 0, 1, 2...)

Null

Nullとは、プログラミング言語やデータベースにおけるデータ表現の一種です。コンテキストによって"空"もしくは"長さ0の文字列"、”未知・不明”を意味します。

機械学習

機械学習は、データからパターンを自動的に発見し、そこから知能的な判断を下すためのコンピューターアルゴリズムを指します。人工知能における課題のひとつです。

Python

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

0グッド

0クリップ

投稿2020/06/22 13:38

編集2020/06/22 14:56

###実行したいこと

辞書のmapの列の出力をマップの種類ごとに数値を振り分けて分類する

**詳細説明;**map_type;新規の作成した列。map;元々含まれていた列の名前(この列に含まれる要素を数値に変更しようとしています)

前回このエラーについてお答え頂き無事その時は解決したのですが、、、、、
今回は、それ通りに行かなかったため質問させていただいた次第です。
エラーの行が見えにくくて申し訳ないです。
該当コードに#エラーが出ている行です。
と書いてある行がそうです。

###改善に向けた行動
前回、mapに関する欠陥値だということだったということで
isnullを使ってnull値を確認しました。
全ての値がFalesとなっています。
つまり出力から考えると、欠陥値によって出たエラーではないのかと考えています。
今回の

raise ValueError("Cannot convert non-finite values (NA or inf) to integer") ValueError: Cannot convert non-finite values (NA or inf) to integer

というエラーが他の原因によって引き起こす可能性はあるのでしょうか?ご教示頂けると幸いです。

###自分なりに考えたこと
1,一つの辞書に何度も変更を加えること自体不可能かと考え実行しようとしたコードを辞書を変更するための他のコードよりも上に持ってきました。→変化なし

2,他の辞書に渡した、置き換え数値と重なっていた場合エラーとなるのかと考え100、101としました→変化なし

3,念のためmapのみで辞書を指定しnull値の検索をしましたがありませんでした。。

4,新規の行の名前を変更してみました。→変化なし

###null値の確認

killed_by map match_id time victim_name kill_position_x kill_position_y 0 NaN NaN NaN NaN NaN NaN NaN 1 NaN NaN NaN NaN NaN NaN NaN 2 NaN NaN NaN NaN NaN NaN NaN 3 NaN NaN NaN NaN NaN NaN NaN 4 NaN NaN NaN NaN NaN NaN NaN ... ... ... ... ... ... ... ... 13426343 NaN NaN NaN NaN NaN NaN NaN 13426344 NaN NaN NaN NaN NaN NaN NaN 13426345 NaN NaN NaN NaN NaN NaN NaN 13426346 NaN NaN NaN NaN NaN NaN NaN 13426347 NaN NaN NaN NaN NaN NaN NaN

###該当コード

python

1import pandas as pd 2import matplotlib.pyplot as plt 3import numpy as np 4import seaborn as sns 5from matplotlib.colors import ListedColormap 6import matplotlib.cm as cm 7 8df = pd.read_csv("csvまでのパス") 9#数値データでなくてはプロットできない。 10show_df = df.drop(['victim_position_x','victim_position_y','victim_placement','killer_placement','killer_name'],axis=1) 11#欠陥値の補足 12show_df['kill_position_x'] = show_df['killer_position_x'].fillna(show_df['killer_position_x'].mean()) 13show_df['kill_position_y'] = show_df['killer_position_y'].fillna(show_df['killer_position_y'].mean()) 14#欠陥値の削除 15show_df = show_df.drop(['killer_position_x','killer_position_y'],axis=1) 16print(show_df.isnull()) 17#日本語表記は検討 ソードオブショットガン,クロスボウ、グレネード、火炎瓶、フライパン、鎌、バール、マチェット 18#エラーが出ている行です↓ 19show_df['map_type'] = show_df['map'].replace({'ERANGEL':0,'MIRAMAR':1}).astype(int) 20 21show_df['gan_type'] = show_df['killed_by'].replace({'Punch':0,'Deagle':1,'P1911':2,'R45':3,'R1895':4,'P18C':5,'P92':6,\ 22 'Skorpion':7,'S12K':8,'S1897':9,'S686':10,'DBS':11,'Tommy Gun':12,\ 23 'Vector':13,'Micro UZI':14,'MP5K':15,'PP-19 Bizon':16,'UMP45':17,\ 24 'AUG':18,'G36C':19,'M16A4':20,'M416':21,'M762':22,'Mk47 Mutant':23,\ 25 'QBZ':24,'SCAR-L':25,'AKM':26,'GROZA':27,'M249':28,'DP-28':29,\ 26 'AWM':30,'Win94':31,'Kar98k':32,'M24':33,'mini14':34,'QBU':35,'Mk14':36,'SKS':37,\ 27 'SLR':38,'VSS':39,'Bluezone':40,'Down and Out':41,'Falling':42,'Grenade':43,'Hit by Car':44,'death.WeapSawnoff_C':45,'Mini 14':46,\ 28 'UMP9':47,'Machete':48,'Sickle':49,'Groza':50,'Crossbow':51,'Drown':52,'Uaz':53,'Pan':54,'RedZone':55,'Motorbike':56,'Buggy':57,\ 29 'death.ProjMolotov_DamageField_C':58,'Dacia':59,'Motorbike (SideCar)':60,'death.Buff_FireDOT_C':61,'Crowbar':62,'Van':63,'Pickup Truck':64,\ 30 'Aquarail':65,'Boat':66,'death.ProjMolotov_C':67,'death.PG117_A_01_C':68,'death.RedZoneBomb_C':69,'death.PlayerMale_A_C':70}).astype(int) 31 32two = print(show_df.head(10)) 33w = sns.pairplot(show_df[0:101],hue='killed_by') 34w.savefig('PUPG.png') 35plt.show() 36 37np.random.seed = 0 38 39#グラフプロット 40#グラフの範囲を指定 x=time y=gan_type 41xmin,xmax = 0,2000 42ymin,ymax = 0,45 43 44index_M416 = show_df[show_df["gan_type"]==21].index 45index_GROZA = show_df[show_df["gan_type"]==27].index 46 47fig,ax = plt.subplots() 48comp = plt.cm.RdBu 49comp_bright = ListedColormap(['#FF0000','#0000FF']) 50sc = ax.scatter(show_df.loc[index_M416,'time'], 51 show_df.loc[index_GROZA,''],color='r',label='GROZA',alpha=0.3) 52sc = ax.scatter(show_df.loc[index_GROZA],'')

###エラー

raise ValueError("Cannot convert non-finite values (NA or inf) to integer") ValueError: Cannot convert non-finite values (NA or inf) to integer

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

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

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

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

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

yymmt

2020/06/22 14:45

print(show_df.isnull())の部分をprint(show_df[show_df.isnull()])とすると中身は空でしょうか?
jury_new

2020/06/22 14:54

yymmtさん、ご回答ありがとうございます。 出力が変わりnullが出てきましたので追記いたします!
jury_new

2020/06/22 15:01

ご回答いただいている中申し訳ございません。 実はちょうど今解決策を思いつきまして、astypeの変換でエラーが起こっているらしく astypeを使うことを諦めまして下記のようにしてみたところ無事動きました。 かなりゴリ押しな気がしますが今回は変換する要素が2つと少数だったため以下のようにしました。。。 show_df['map_type'] = show_df['map'].replace({'ERANGEL':int(100),'MIRAMAR':int(200)}) intを使って見たところ動きました。。。 大変申し訳ないです。
yymmt

2020/06/22 15:04

解決したようなので良かったです。謎は深まりましたが・・・。
guest

回答1

0

自己解決

実はちょうど今解決策を思いつきまして、astypeの変換でエラーが起こっているらしく
astypeを使うことを諦めまして下記のようにしてみたところ無事動きました。
かなりゴリ押しな気がしますが今回は変換する要素が2つと少数だったため以下のようにしました。。。

python

1show_df['map_type']=show_df['map'].replace({'ERANGEL':int(100),'MIRAMAR':int(200)}) 2

intを使って見たところ動きました。。。

投稿2020/06/22 15:03

jury_new

総合スコア31

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問