【Pycharm】アップデート後にPythonクラッシュ多発2
遅まきながらPycharmを2017.3.2をアップデートしたところ,
Runは問題ないのにdebugで
Process finished with exit code -1073741819 (0xC0000005)
と出て強制終了するエラーが発生。
print文だけの超シンプルなスクリプトでもエラーが出てdebug出来なかったため,
前回とは異なる模様↓oregengo.hatenablog.com
文字は読めないけどPyQtがどうのこうのというサイトを発見。
そういえばPyQtは4のままで5は入れていないような気が。
もともとはAutoになっていたところをPyQt4に変更したところ治った!
まー原因はよくわかんねけどいいか。
【Android】Pythonのnp.zeros相当な書き方
np.zeros(10) >array([ 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.])
と書ける物は以下のようにするといいみたい。
Integer [] arr = new Integer[10]; ArrayList<Integer> myList= new ArrayList<>(Arrays.asList(arr)); Collections.fill(myList, 0);//fills all 10 entries with 0
【Android】Pythonのlinspace(range)相当の書き方
val = np.linspace(0, 1, 10) > array([ 0., 1., 2., 3., 4., 5., 6., 7., 8., 9.])
と書ける物はfor文で作るか自分でクラスを作るしかないみたい。
List list = new ArrayList(); for (int i=0; i<10; i++){ List.add(i); }
【cmd】コマンドプロンプトからイベントログ出力と削除
一連の処理を.bat化して1クリックのみで処理できるようにした。
まずはイベントログの画面出力。
コマンドはwmic
ログの中身全てを出力すると画面上では見づらいので
ここでは作成時間とメッセージのみ出力
wmic ntevent where "(LogFile = 'system') get TimeGenerated, Message -> Message TimeGenerated System ログ ファイルが消去されました。 20170824005734.400493-000
次にログの削除。これは管理者権限が必要。
コマンドはwevtutil
wevtutil cl system
これのみで削除完了。
こちらを参考にさせてもらった。感謝!
イベント ログを消去する
[Windows] wmic コマンドを使ってイベントログを表示する | インフラSEの運用・構築メモ
【Python】numpy ndarrayとmatrixの特徴 覚書き
MATLABからの移行組にはとっつき辛いところが多々あるnumpyの配列,
ndarrayの気付いた点まとめ。
numpyは基本、横ベクトル
xx.shape -> (n, ) はベクトル,
x.shape -> (n,m) は配列
array([1, 2, 3])やarange(10)で作成されるのはベクトル
ベクトルは標記こそ横ベクトルだが向きは無い。
よってベクトル(1×N)を転置をしてもMATLABの様にN×1ベクトルにはならない。
ベクトルをイテレータとして使うと数値が一つずつ取り出せる。
e.q. np.range(3) -> 最初:1, 次:2, 次:3
配列をイテレータとして使うと 1×Nのベクトルが取り出される
e.q. np.range([[1, 2, 3], [4, 5, 6]]) -> 最初:[1, 2, 3], 次:[4, 5, 6]
よって配列をスライスする際はベクトルでスライスするか配列(1*N)でスライスするかで
挙動が変わるので注意
data = np.array([[1, 2, 3],[4, 5, 6],[7, 8, 9]]) index1 = np.array([[0, 1, 2]]) data[index1, 0]) -> array([[1, 4, 7]]) # 1*3配列 index2 = np.array([0, 1, 2]) data[index2, 0]) -> array([1, 4, 7]) # ベクトル
【Python】listやndarrayの中身をエクセルに張り付けるためにクリップボードへコピー
listやndarrayの中身をエクセルに張り付けて検証や検討をしたい場合に有効。
肝になるのが
・リスト内容標記を使って数値を文字列にして末尾に改行コード\nを追加
・"".join(データ)で文字を結合
import pyperclip def copy(data): temp = [str(i) + "\n" for i in data] pyperclip.copy("".join(temp)) print("data was copied in clipboard")
クリップボードコピー用のモジュール、pyperclipを使って関数化し
リストからクリップボードコピーまで1行で処理可能にした。