shikoan’s memo

プログラミング初心者のチラ裏

ぷろぐらみんぐ帳

Python

Numpyで相関行列

テスト用のデータを作成。 import numpy as np # テストデータ x = np.arange(5).reshape(5,1) print(x) print() [[0] [1] [2] [3] [4]] このまま複製して相関係数を計算すると「標準偏差が0だゴルァ」と怒られるので、ノイズを乗っける。平均0、標準偏差0.5の…

NumPyの行列演算で二重ループをなくす

100 Numpy Exercisesの86番を見て知ったテクニック。これは数値を2進数表記する問題。 86.Convert a vector of ints into a matrix binary representation (★★★) # Author: Warren Weckesser I = np.array([0, 1, 2, 3, 15, 16, 32, 64, 128]) B = ((I.resha…

numpy.ufunc.reduceatの意味

100 Numpy Exercisesの78問目より。この関数意味わからなかった。ちなみにこんな問題。ブロック単位での和を計算することを想定している。 78.Consider a 16x16 array, how to get the block-sum (block size is 4x4)? (★★★) # Author: Robert Kern Z = np.o…

numpy.bincountのweightの意味

100 Numpy Exercisesの56問目で解いていたときにふと湧いた疑問。こんな問題。 56.How to accumulate elements of a vector (X) to an array (F) based on an index list (I)? (★★★) # Author: Alan G Isaac X = [1,2,3,4,5,6] I = [1,3,9,3,4,1] F = np.bin…

CentOS7+Python3.xで日本語を内容に含むファイル出力をしたときにUnicodeEncodeErrorがでたときの対策

環境:CentOS7、Python3.6 Windows環境では発生しなかったのにLinux環境で実行したら発生した。 test.py with open("hoge.txt", "w") as fp: fp.write(u"あああああいいいいうううう日本語") Traceback (most recent call last): File "test.py", line 2, in <module></module>…

型の違う配列やTupleをjoinで文字列結合するときの注意

大丈夫だろうと甘く見ていたら怒られたのでメモ Pythonは型にルーズなので、配列やTupleの中に文字列と数字が混在していても特に問題なし。例えば次のようなTupleは許容される。 a = (1,"a",2) ところが文字列結合すると途端にうるさくなる。例えばこれです…