pandasの特定の列に対して行う一括の処理がうまくいきません

実現したいこと

pandasの特定の列内に対しての文字列からint型への変換をしたい

前提

現在Rとpythonで学ぶ統計学入門という本を読んでいるのですが
その中にエクセルファイルを読み込んで特定の列(売上=数字)を吸い出し
文字列型からint型に変換してグラフを描画するという項目をやっているのですが
この吸い出した列内の文字列(数字)からint型への変換が出来ておらず
※変換されてないのに何故かエラーは発生していない
グラフに渡す値が文字列(数字)になっているせいで本に記載されてるグラフとは
全く違うおかしなグラフが描画されています

該当のソースコード

python

1!pip install japanize-matplotlib 2 3import pandas as pd 4import matplotlib.pyplot as plt 5import japanize_matplotlib 6 7from pandas.plotting import register_matplotlib_converters 8register_matplotlib_converters()9 10service = pd.read_csv("data/service3.csv", encoding="shift_jis")11 12fig = plt.figure(figsize=(10,10))13 14plt.subplots_adjust(hspace=1)15 16months =pd.to_datetime(17 service["時間軸(月・四半期・年)"],18 format="%Y年%m月"19)20 21industry = [22 "39情報サービス業",23 "40インターネット附随サービス業",24 "68不動産取引業",25 "75宿泊業",26 "76飲食店"27]28for i in range(len(industry)):29 ax = fig.add_subplot(5, 1, i+1)30 ax.plot(months, pd.Series(service[industry[i]], dtype="int"))31 ax.set_title(industry[i])32 33plt.show()

試したこと

調べたところどうも30行目のpd.Series(service[industry[i]], dtype="int")
が吸い出した売上(文字列)がint型に変換されておらず
おかしなグラフが出来るみたいです

エクセル内の売上の書き方は下記のような3桁毎にコンマ「,」を挟んだ数字の書き方がされています
103,390
2,300,321
54,287,536

最初コンマのせいでうまく変換出来ないのかと思い
30行目の命令に
ax.plot(months, pd.Series(service[industry[1]].replace(",",""), dtype="int"))
replaceを付けてコンマを削除しようと思いましたが
実際には削除されず文字列のままです
※削除されてないくせに何故かエラーは発生してない

コメントを投稿

0 コメント