forループでdfn数字で始まる複数のPandasシリーズのデータセットを取得し、そのforループの中でヒストグラムをプロットしようと試みておりますが、
ループを回す度にdfn数字の箇所が更新されるため(dfn0, dfn1, dfn2..)、この数字の部分をdf_name1のように変数化してax.histに渡そうとすると単に文字列扱いとなってしまいグラフの表示に失敗しております。
データセット名の更新されてもうまくPandasシリーズ型として変数を渡す方法がありますでしょうか?
どうぞ、よろしくお願いいたします。
当該処理のコードは以下になります。
df_list = ['data1.csv','data2.csv','data3.csv','data4.csv'] for i, j in enumerate(df_list): exec("df" + str(i) + " = pd.read_csv('C:/Users/AP/Downloads/%s')" % j) fig = plt.figure() ax = fig.add_subplot(1,1,1) df_name1 = "dfn"+str(i)+"['col1']" df_name2 = dfn1['col1'] print(type(df_name1)) #df_name1をax.histに渡した場合は<class 'str'>としてプロットに失敗する print(type(df_name2)) #df_name2をax.histに渡した場合は<class 'pandas.core.series.Series'>として正常にプロットされる ax.hist(df_name, bins=range(0,120,5), normed=False, color='blue', alpha=1)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/05/05 04:53