2016-04-13 12 views
1

5列10行(したがって10の観測値)のデータセットを持つ場合は、最初の4つの列を表す10×4の入力行列をyは、私のデータセットの最後の列を表す10行1列の出力行列になります。 私のXマトリックスにcty_pop2000、countyfipscode、county_name、およびstatenameという列を組み込むことができます。私はy出力ベクトルをgini列にしたい。これをPythonでどのようにコード化すればよいですか?この質問が些細な場合にはお詫び申し上げます。私はPythonが初めてです。 私はsklearnを試しましたが、X入力とY出力に単純な配列を使用しています。そのため、私は私のX行列とYベクトルPythonを介してX入力行列とy出力ベクトルを作成する

をコーディングする方法見当がつかない私は、次を使用してコーディングしようとした:

import pandas as pd 

df = pd.read_csv('file_name.csv') 
X = df.iloc[[0:3]]  
y = df['gini'] 

データセットは以下を持っているcsvファイルである:

cty_pop2000 countyfipscode county_name statename gini 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
43671 1001 Autauga Alabama 0.381 
+2

「フィーチャー」の代わりに「列」を使用してください。あなたのデータはそれほど大きくありません。人々が見ることができるように投稿するだけです。どのように分かれていますか?コンマまたは空白などで指定します。小さなデータセットを表示すると、すべて回答できます。 – Hun

+0

実際のデータセットは34個のフィーチャと28,243行(raw_data_for_project2.csvとラベル付けされたcsvファイルで、このサイトにアップロードする方法はわかりません)。私のX行列が33で28,243であり、yベクトルが1で28,243であるニューラルネットワークを構築しようとしています。 – M3105

+0

私は試しました pdfとしてインポートパンダ DF = pd.read_csv( 'raw_data_for_project2.csv') X = df.iloc [0:32] のY =のDF [ 'absoluteupwardmobility']#最後の特徴 – M3105

答えて

0

最後の列をベクトルにコピーし、元のデータフレームからドロップすることができます。

import pandas as pd 

df = pd.read_csv('file_name.csv') 
y = df[['gini']] 
X = df.drop(['gini']) 

それとも、単に

import pandas as pd 

df = pd.read_csv('file_name.csv') 
y = df[['gini']] 
X = df[df.columns.difference(['gini'])] 

を落とすことなく、「ジニ」列をスライスすることができますまた、その列のインデックスを使用して列をスライスすることができます

import pandas as pd 

df = pd.read_csv('file_name.csv') 
y = df[[-1]] 
X = df[df.columns[0:-1]] 

これらのメソッドのすべて

>> y 
    gini 
0 0.381 
1 0.381 
2 0.381 
3 0.381 
4 0.381 
5 0.381 
6 0.381 
7 0.381 
8 0.381 

とX

>> X 
    cty_pop2000 countyfipscode county_name statename 
0  43671   1001  Autauga Alabama 
1  43671   1001  Autauga Alabama 
2  43671   1001  Autauga Alabama 
3  43671   1001  Autauga Alabama 
4  43671   1001  Autauga Alabama 
5  43671   1001  Autauga Alabama 
6  43671   1001  Autauga Alabama 
7  43671   1001  Autauga Alabama 
8  43671   1001  Autauga Alabama 
+0

それは働いて、ありがとう! – M3105

+0

あなたはそれを受け入れることで何を意味しますか?(申し訳ありませんが、私はstackoverflowに新しいです) – M3105

関連する問題