ここにpythonが新しくなりました(しかしR、SQLの経験はあります)。 私はこれをグーグルで試してみましたが、新しいアイデアを生み出すことができませんでした。 私の主な目的は、私のcsvデータを使って行列を生成することですが、2列目を行列の行に入れ替えたいと思います。私はその行列に第3列のデータを入力したいのですが、どこにもいられませんでした。Pythonの行列:2列目を行列の行に置き換えて3列目にデータを入れよう
数日後、私はこのコードが出ているが:
import csv
def readcsv(csvfile_name):
with open(csvfile_name) as csvfile:
file=csv.reader(csvfile, delimiter=",")
#remove rubbish data in first few rows
skiprows = int(input('Number of rows to skip? '))
for i in range(skiprows):
_ = next(file)
#change strings into integers/floats
for z in file:
z[:2]=map(int, z[:2])
z[2:]=map(float, z[2:])
print(z[:2])
return
これはちょうど私のデータをクリーンアップし、しかし、私がやりたいものをマトリックスにデータを転置することです。しかし、私はこのようなマトリックスに、このデータを有効にしたい
1 1 x
1 2 y
1 3 z
1 4 d
. . .
. . .
:つまり、私は思います私が持っているデータは、この(X、Y、Z、Dおよび他の文字山車ですが想像)のようなものですその行列に第3列のデータ(ここでは文字を読みやすくするための文字)を入力し、2列目を行列の行に変換します。したがって、本質的に、そのCSVファイルの第1列と第2列は行列の座標です。
1 2 3 4 . .
1 x y z d
1 a b c u
1 e f e y
.
.
私はnumpyを学習しようとしましたが、すでにデータが行列形式である必要があります。
?また、結果は行列ではありません。最初の行は2番目の行より1少ないエントリしかないからです。正しい? – jme
申し訳ありませんが、数字になっているはずです。あなたが読むのを簡単にするために手紙にしました。 CSVファイルは大量ですが、列と比較してヒープ行が増えますが、行列に変換した後、2列目を先頭行に置き換えて3列目のデータを入力すると正方行列になります。私の貧弱な説明については申し訳ありませんが、うまくいけば意味があります。 – dizzyLife
待って、最初と2番目の列は、マトリックスの座標ですか?例えば、 '[1、1]'は '[0、0]'、 '' [1,2] ' - >' [0、1] '、' '[2、1] 、0] 'など?あなたは完全な配列がどのように見えるかの完全な例を私たちに教えてください。 (つまり、どの値が2番目と3番目の行に出力されましたか) – SCB