下記のコードを書くと下記のようなエラーが出てきます。
どこを直せばよいのでしょうか。
今、
burdenhight.csvは11行1列のcsvファイル、
cf_lstは4行309列のファイルです。
出力されるファイルとして期待しているものは
4行11列のファイルになります。
burden_hight = pd.read_csv('burdenhight.csv', header=None) cf_lst = pd.DataFrame(cf_lst) cf_layer_X = [] for i in range(11): burdenhight = burden_hight.iloc[i] cf_X = cf_lst.apply(lambda r: (sum(r[7+28*i:14+28*i]) - sum(r[21+28*i:28+28*i]))/(0.1*0.3*burdenhight), axis=1) cf_layer_X.append(cf_X)
###修正してみたコード
burden_hight = pd.read_csv('burdenhight.csv', header=None) cf_lst = pd.DataFrame(cf_lst) cf_layer_X = [] for i in range(11): burdenhight = burden_hight.iloc[i] cf_X = cf_lst.apply(lambda r: (sum(r[7+28*i:14+28*i]) - sum(r[21+28*i:28+28*i]))/(0.1*0.3*burdenhight), axis=1) print(len(cf_layer_X)) cf_layer_X.append(cf_X) cf_layer_X = np.array(cf_layer_X).T cf_layer_X_with_label = pd.DataFrame(cf_layer_X)
File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 4152, in apply return self._apply_standard(f, axis, reduce=reduce) File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 4265, in _apply_standard result = self._constructor(data=results, index=index) File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 266, in __init__ mgr = self._init_dict(data, index, columns, dtype=dtype) File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 402, in _init_dict return _arrays_to_mgr(arrays, data_names, index, columns, dtype=dtype) File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 5403, in _arrays_to_mgr arrays = _homogenize(arrays, index, dtype) File "C:\Python27_2017\lib\site-packages\pandas\core\frame.py", line 5714, in _homogenize raise_cast_failure=False) File "C:\Python27_2017\lib\site-packages\pandas\core\series.py", line 2952, in _sanitize_array subarr = _asarray_tuplesafe(data, dtype=dtype) File "C:\Python27_2017\lib\site-packages\pandas\core\common.py", line 392, in _asarray_tuplesafe result[:] = [tuple(x) for x in values] TypeError: 'numpy.int64' object is not iterable
burdenhight.csvの中身
0.01375 0.0175 0.02625 0.035 0.035 0.035 0.035 0.035 0.02625 0.0175 0.02375
登場するいくつかの変数が不明なので
print(number_of_probe_layer), print(width_build), print(average_dypre)の各結果を記載ください。
いくつか分かりやすいように訂正しました。
修正されたコードでも同様のエラーが発生しますでしょうか?
エラー文もコードに合わせて更新ください。
申し訳ありません。
いくつか修正をしていたら
エラー内容が変わってしましました。
そちらも載せております。
何度も修正してしましすいません。。。
「cf_lst = pd.DataFrame(np.arange(4*309, dtype=float).reshape(4,309))」
といった適当なデータで試してみましたが、エラーなく実行できました。
もしかしてPythonのバージョンは3.xではなく2.7でしょうか?
2.7でやっております
いろいろ修正しなおして
また新しく別の質問に書き直したので
そちらを見ていただけませんか?
すいません、たしかに示しているコードは実行できていますね、、、、
ただ、そのあと転地をしてファイルに出力するところができないのですが
なにがいけませんか?
回答1件
あなたの回答
tips
プレビュー