yana_lab

Python基礎

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

Python基礎


+ 1.ファイルの読み込みと保存

1. ファイルの読み込みと保存

ファイルの読み込み

計測したデータをPythonで読み込む
import numpy as np
data = np.loadtxt("C://Users\XXXXX//Desktop//A.csv", delimiter=',')
print(data)
 

同じフォルダ内に「A.py」のファイルと読み込ませたいCSVファイルがあれば以下のように書けばOK.
import numpy as np
data = np.loadtxt("A.csv", delimiter=',')
print(data)
 

データの保存
計算した結果をCSVファイルで保存するとき
import numpy as np
np.savetxt('result.csv',outTable,delimiter=',')#「result.csv」という名前でoutTableというデータを保存する
 

+ 2.配列の操作

2.配列の操作

例えばdataという名前で,こんな配列があったとします.
0 0 0 -10 0.1
1 0 2 -5 0.4
2 0 4 0 0.9
3 1 6 5 1.6
4 1 8 10 2.5
5 1 10 15 3.6

配列の大きさを調べる

まず配列が何行何列か調べます.
row,col = data.shape
print(row)#行
print(col)#列
 
「row = 6, col = 5」と表示されます.

1列目を取り出したい場合

配列の特定の部分を抜き出して,計算する例です.
列の場合も行の場合も0番から数えるのがルールです.
x = data[:,0]#0番から数えるので注意!
print(x)
 
0
1
2
3
4
5
が抜き出せます.ただ,データの扱いとしては
0 1 2 3 4 5
という形のデータになります.

2行目を取り出したい場合

y = data[1,:]#0番から数えるので注意!
print(y)
 
1 0 2 -5 0.4
が抜き出せます.

2行,3列目のデータを取り出す場合

z = data[1,2]
print(z)
 
「2」と表示されます.

3列目から最後までを取り出す場合

xx = data[:,2::] #最初の「:」はすべての行という意味.「2::」は3列目から最後までという意味
print(xx)
 
0 -10 0.1
2 -5 0.4
4 0 0.9
6 5 1.6
8 10 2.5
10 15 3.6

3列目と4列目を足し合わせる

x1 = data[:,2]
x2 = data[:,3]
print(x1 + x2)
 
-10 -3 4 11 18 25

3列目のすべての要素に1を加える

x1 = data[:,2]
a = np.ones((1,6))
print(x1 + a)
1 3 5 7 9 11

すべての要素を2倍する

print(2*data)
0 0 0 -20 0.2
2 0 4 -10 0.8
4 0 8 0 1.8
6 2 12 10 3.2
8 2 16 20 5
10 2 20 30 7.2

dataに新しい列を追加する

print(data)
r1 = [1,1,1,1,1]
new_data = np.vstack([data,r1]) 
print(new_data)
0 0 0 -10 0.1
1 0 2 -5 0.4
2 0 4 0 0.9
3 1 6 5 1.6
4 1 8 10 2.5
5 1 10 15 3.6
1 1 1 1 1


平均値を求める

注意:平均、標準偏差、最大値、最小値については,第 1 引数 に 0 または 1 を指定する。0 ならば 1 次元方向に、1 ならば 2 次元方向に演算を行う。

#各列の平均値を求める
mean_data = data.mean(0)
print(mean_data)
 
mean_dataは以下のようになります.
2.5 0.5 5 2.5 1.51666667

#1列だけの場合は、その列の平均値
mean_data2 = data[:,2].mean(0)
print(mean_data2)
 
mean_data2=「5.0」になります.

標準偏差を求める

#各要素の標準偏差を求める
std_data = data.std(0)
print(std_data)
 
std_dataは以下のようになります.
1.70782513 0.5 3.41565026 8.53912564 1.22122434

#1列だけの場合は、その列の標準偏差
std_data2 = data[:,2].std(0)
print(std_data2)
 
std_data2 = 3.41565025532

最大値を求める

max_data1 = data.max(0)#列方向で最大値を求める
print(max_data1) 
 
5 1 10 15 3.6

max_data2 = data.max(1)#行方向で最大値を求める
print(max_data2)
 
0.1 2 4 6 10 15

最小値を求める

min_data1 = data.min(0)#列方向で最小値を求める
print(min_data1) 
 
0 0 0 -10 0.1

min_data2 = data.min(1)#行方向で最小値を求める
print(min_data2)
 
-10 -5 0 1 1 1


その他

a = 3**2 #3の2乗を求める.
print(a) #=9
b = 17//3 #	除算
c = 17%3 #余り
print(b) #=5
print(c) #=2
 

+ 3 .if文

3.if文

論理式の書き方まとめ
  • 以上: >=
  • 以下: <=
  • 等しい: ==
  • より大きき: >
  • より小さい: <
  • 等しくない: !=

2択の場合

a = 1
if a > 5:
    print("5より大きい")
else:
    print("5以下")
 
出力:5以下


a = 8
if a > 5:
    print("5より大きい")
else:
    print("5以下")
 
出力:5より大きい

文字列の場合も同様

a = "たぬき"
if a == "たぬき":
    print("たぬき")
else:
    print("きつねかも")
 
出力:たぬき

3択以上の場合

a = 4
if a >= 10:
    print("10以上")
elif a >= 5:
    print("5以上")
else:
    print("5より小さい")
 
出力;5より小さい

+ 4 .繰り返し文

4.繰り返し文

繰り返し文を使って,1から10まで足すプログラムを書いてみます.
繰り返し文には「for」,「while」の2種類があります.
for: 繰り返す回数が決まっているときに使う
while: 繰り返す回数が決まっていないときに使います.

for文を使う場合()

ans = 0
for t in range(0,11):
    ans = ans + t
print(ans)
 
出力:55

while文を使う場合

ans = 0
t = 0
while t < 11:
    ans = ans + t
    t = t + 1
print(ans)
 
出力:55
ずっと繰り返すときは「while(1)」などと書けば無限ループする.もし、間違えて無限ループしてしまったら、「Ctr+C」で停止させることができる.

配列を対象に条件にあるデータが何番目にあるのか調べる

data = [0, 0.6, 1.2, 1.8 ,2.4, 3.0, 3.6, 4.2, 4.8]
for t in range(0,len(data)): #len(data)でその配列の長さ(「row,col = data.shape」を使ってもよい)
    if data[t] > 4: ##何個目のデータで値が4を超えるか調べる.
        print(t) ##7番目のデータで4を超える
        break #条件に一致したらループを抜ける
 
出力:7

配列にデータを追加する

import numpy as np
 
data = [[0,0,0],[1,1,1],[2,4,8],[4,9,27]]
new_data = np.zeros((1,4))#保存用にゼロ行列を作る(最後に消す)
for t in range(0,len(data)): #行列の長さ分だけ繰り返す
    a = np.hstack([t,data[t]]) #t番目の行に「t」を追加する
    new_data = np.vstack([new_data,a]) #新しいデータ(a)を加える

new_data = new_data[1::,:]  #保存用最初に作ったゼロ行列を消す.
print(new_data)
 
出力:
0 0 0
1 1 1
2 4 8
4 9 27
の配列に
0
1
2
3
が追加されて
0 0 0 0
1 1 1 1
2 2 4 8
3 4 9 27

保存するファイル名を変更しながら,処理を繰り返す.

ファイルの読み込みも同様にできます.複数の実験参加者のデータを解析するときなどに使ってください.
import numpy as np
 
for t in range(0,4):
    outTable = [t]
    #保存するディレクトリとファイル名を決める(数字はstr()で文字列にすること)
    filename = "C://Users\Kazuki Yanagisawa//Desktop//result_"+ str(t) + ".csv" 
    np.savetxt(filename, outTable, delimiter=',')#保存
 
プログラムと同じフォルダでよいなら以下の書き方でOK.
import numpy as np
 
for t in range(0,4):
    outTable = [t]
    #保存するファイル名を決める(数字はstr()で文字列にすること)
    filename = "result_"+ str(t) + ".csv" 
    np.savetxt(filename, outTable, delimiter=',')#保存
 

タグ:

Python
+ タグ編集
  • タグ:
  • Python
ウィキ募集バナー