2017-12-05 9 views
0

データを持つファイルがあります: 各行に2つの配列。合計= 10,000行numpyを使用してファイルから行列を形成するための配列を読み取る方法

[1,2,3,4,5][2,4,6,8,10] 
[3,6,9,12,24][6,12,18,24,48] 
....] 

この入力をfitコマンドの線形回帰に与える予定です。 エントリのある行列を構成する方法に問題があります。

私は次のように(xで2)アレイの構築を探しています:私は、入力としてフィットコマンドに与えることができるように

x=[ 
    [1,2,3,4,5] 
    [3,6,9,12,24] 
    ....] 

y= 
    [[2,4,6,8,10] 
    [6,12,18,24,48] 
    ....] 

私は、numpy.fromfileがバイナリデータを取得するのに使われているのを見ています。 リストに使用できますか?ここで

https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.fromfile.html

+0

私はFROMFILE使用していないが、私はヨーヨーuはリンクドキュメントの例を試してみて、どのように表示される場合がありますを使用していますデータを保存するときに生成するファイルと同様のものが、あなたが所有するものです。私はそれがデータと一緒にいくつかのメタデータを格納することを期待しているかもしれません。つまり、 "いいえ"か、ファイルを編集する必要があります。 – Chris

答えて

0

ソリューション

f = open("test.txt","r") 
x = [] 
y = [] 
for i in f.readlines(): 
    split_values = i.split("][") 
    s1 = split_values[0].replace('[','') 
    s2 = split_values[1].replace(']','') 
    s1_split = s1.split(",") 
    s2_split = s2.split(",") 
    s1_split = map(int, s1_split) 
    s2_split = map(int, s2_split) 
    x.append(s1_split) 
    y.append(s2_split) 
print(x) 
print(y) 
+0

ティラックありがとうございます。 2つの配列で出力をしたいのと同じように動作します。私たちもnumpyを使ってやりますか? – user

+0

私はyが常に空の行だけを取得しているのを見る\ – user

0

ソリューションは、パンダ

import pandas as pd 

df = pd.read_csv('input.txt', delimiter="\]\[", header=None, engine='python') 
df[0] = (df[0] + ']') 
df[1] = ('[' + df[1]) 
x = df[0].tolist() 
y = df[1].tolist() 
関連する問題