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

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

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

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

Q&A

解決済

1回答

739閲覧

初心者質問 python 書き出しについて

ryusei_python

総合スコア18

Python

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

1グッド

1クリップ

投稿2019/05/15 13:50

前提・実現したいこと

python初心者です.データの書き出しについて困っています.
csvファイルからデータを読み,numpy.matrixを用いて計算した値を,そ別のcsvファイルに書き込むと
[[値1]] [[値2]] [[値3]] のように 二重かっこ がついてしまいます.
数値のみをcsvファイルに書き出したいのですがどうすればよいでしょうか?

発生している問題・エラーメッセージ

現在のままでファイルに書き出すと
[[-0.82869471]]
[[5.09277238]]
[[-1.33117584]]
のように書き出されます.

それを かっこのついていない形
-0.82869471
5.09277238
-1.33117584
で書き出したいです.

tolist()を用いて,配列をリストに戻してみましたがかっこがついたままでした.

該当のソースコード

ソースコード

試したこ

import re
import math
import numpy as np
import matplotlib.pyplot as plt
import scipy.fftpack
from statistics import mean

data = np.genfromtxt
("./desktop/python/date/renritu.csv", delimiter= "," , skip_header=1, dtype='float')

l = data[:,0]
m = data[:,1]
n = data[:,2]
o = data[:,3]

a = np.matrix([ [l[0],m[0],n[0]],[l[1],m[1], n[1]],
[l[2],m[2],n[2]],[l[3],m[3],n[3]] ])
b = np.matrix([ [o[0]],[o[1]],[o[2]],[o[3]] ])

at = a.T #aの転置行列
at_a = at * a
at_a_gyaku = np.linalg.inv(at_a)
x = at_a_gyaku * at * b
print(x)

w_data = "./desktop/python/write_date/kai.csv"
fw = open(w_data,"w")
fw.write(str(x[0]) + '\n' + str(x[1]) + '\n' + str(x[2]) )
fw.close()

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

DrqYuto👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

numpy.savetxtという便利なものがあるので、これを使えばいいでしょう。

numpy.savetxt — NumPy v1.16 Manual

python

1>>> import numpy as np 2>>> m = np.matrix([[-0.82869471],[5.09277238],[-1.33117584]]) 3>>> np.savetxt("out.txt", m)

out.txt

text

1-8.286947099999999455e-01 25.092772380000000432e+00 3-1.331175839999999999e+00 4

投稿2019/05/15 15:10

編集2019/05/15 15:16
hayataka2049

総合スコア30933

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

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

ryusei_python

2019/05/19 05:05 編集

ありがとうございます.
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問