1
複数のデータファイルをプロットするためのループを作成しようとしています。savefigでエラーが発生しました:ValueError:float NaNを整数に変換できません
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import glob
import os
pathf1 = r'/home/foo/condt/'
allfiles1 = glob.glob(pathf1 + '/*.csv')
fig1 = plt.figure()
for filee_ in allfiles1:
dfp = pd.read_csv(filee_, sep=',', encoding='utf-8')
ax = plt.subplot(111)
ax.plot(dfp['col3'], dfp['col2'], ls = '-', color='red', marker='x', markersize = 25.0)
ax.errorbar(dfp['col1'], dfp['col2'], yerr=dfp['PN_6_FLUX_ERR'], ls='None', marker = '.')
ax.set_xlim((dfp['col1'].min()-0.1*(dfp['col1'].max()-dfp['col1'].min())), ((dfp['col1'].max()+0.1*(dfp['col1'].max()-dfp['col1'].min()))))
ax.set_ylim((dfp['col2'].min()-dfp['col2'].max()),((dfp['col2'].max()/2.0)+dfp['col2'].max())
ax.grid()
plt.xticks(dfp['col1'])
plt.yticks(dfp['col2'])
plt.xlabel('col1')
plt.ylabel('col2')
plt.title('col1 vs. col2')
filenamee = ''+ str('%02s' %filee_)+'.png'
plt.savefig(filenamee, dpi=600)
plt.clf()
plt.show()
私は、この取得していますコードを実行します。私はあることを行って、コードのすべてからダニを削除すると、ファイル内のそのような
plt.savefig(filenamee, dpi=600)
ValueError: cannot convert float NaN to integer
列、
col1 col2 col3
3.39895E-12 52459.7796644
3.62529E-12 52461.7358623
3.67719E-12 52501.6052951
2.26977E-11 56340.081624
3.38851E-11 53574.1580939 53574.1580939
を普通...しかし私は私のグラフにダニが必要です。どうすればこの問題を解決できますか?
str( '%02s'%filee_)の結果は何ですか? –
ファイルの名前を指定しています。このような; /home/foo/filename1.csv ...... /home/foo/filenamen.csv – anniejcannon
本当ですか? "/home/foo/%02s.csv"%(ファイル名)の結果はどうですか?それは可能ですか? –