Python3 入門:and と or の反対の挙動??
本日は
python3の and と or の面白い挙動を調査してみる
理由はロジックを書いていてちょっと ??な出来事があったからですが
こちらには記載されていた
では、早速 jupyterにて
最初はこんな感じで1が返る想定が2が帰ってきたからちょっと調べてみました。
これで。。。何だと?とね
これでわかったことは
左辺が真なら右辺が返るってことですね
で次は or
まさかの挙動、左辺が帰ってきた
ああ、そうですかよもやの反対ですか
左辺が真なら左辺が返る
??お、おう??
そうですか。。。。。これは正直まだ良くわからん
これの動きはand も同じだったので文字列間の比較に鍵があるんでしょう
今は目をつぶる。。。
以上終了
Python3 入門:線形代数 numpy 行列の計算
最近は線形代数もpythonと共に合わせて勉強しなおしているので
ついでにPythonしてみようと思った
まずは行列
まぁこんな感じで行列が表現できるようで。。。。
次は簡単な演算
はいすこぶる簡単です。
Numpyすげぇ!!さて積は??
できない。。。。
ちょっと調べたら関数があったので試してみる。
よかったできました。
どうやら*はnumpyでは対応する要素があってれば要素ごとの積を返すようだ
なのでshapeが違うと怒られる
最後に
これは下記のようにimportを追加することで実現した
bに対しての逆行列が取得できた
これなら線形代数の他の計算も楽になりそうな予感がする
今後面倒くさい時にはNumpyを使って楽にしてしまおう( ̄ー ̄)ニヤリ
ちなみに今回の参考図書はこちら
両方ともに良書と思っています。
やさしく解説してくれるので、私のような初学者にはおすすめです。
Python3 入門:matplotlib でローソク足の表示 pandas numpy
海外のソースをみてほぼ写経
import pandas as pd import numpy from pylab import * import matplotlib.pyplot as plt from datetime import datetime import time from matplotlib.dates import DateFormatter, WeekdayLocator, HourLocator, \ DayLocator, MONDAY from matplotlib.finance import candlestick,\ plot_day_summary, candlestick2 %matplotlib inline mondays = WeekdayLocator(MONDAY) alldays = DayLocator() weekFormatter = DateFormatter('%b %d') dayFormatter = DateFormatter('%d') filename = "./4689.csv" df = pd.read_csv(filename, index_col=0) # データを読んで print(df) i=0 prices = [] for i in range(99): val = (date2num(datetime.strptime(df.ix[i].name.replace('-','/'), "%Y/%m/%d")) , df.ix[i].open , df.ix[i].close ,df.ix[i].high ,df.ix[i].low) prices.append(val) fig, ax = plt.subplots() fig.subplots_adjust(bottom=0.2) ax.xaxis.set_major_locator(mondays) ax.xaxis.set_minor_locator(alldays) ax.xaxis.set_major_formatter(weekFormatter) candlestick(ax, prices, width=0.6) ax.xaxis_date() ax.autoscale_view() plt.setp( plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right') plt.show()
しかしこんな文字が!!
This function has been deprecated in 1.4 in favor of `candlestick_ochl`, which maintains the original argument order, or `candlestick_ohlc`, which uses the open-high-low-close order. This function will be removed in 1.5
mplDeprecation
どうやら1.5でなくなるらしい
せっかく覚えたのに。。。。orz
Python3 入門:jupyter matplotlib でグラフを描画 日本語が表示されなかった
本日はipython notebookでグラフを描画します。
少しハマったのでメモメモ
まずはコード
まずはこれだけ
jupyterになって忘れてたけども
%matplotlib inline
を忘れてて全然グラフが表示されなかった。。。orz
日本語の表示もされないままだ。。。。
だれか教えて下さい。。。。
Python3 入門:while文 他の言語とほぼ変わらず。。。
今回はwhile文です。
8. 複合文 (compound statement) — Python 3.4.3 ドキュメント
これに関しては比較的に素直に感じる
基本的にはwhile直後の条件がTrueの時にステートメントが実行され
条件が変更(False)になったときに終了する。
それ以外はおそらくfor文と同様であろうと考えておく。。。
これを元に検証していく
elseはfor文と同じ挙動のようだ
やはり条件に入らなくともelseは評価される。
次にbreakとcontinueを試してみる。
breakもcontinueもやはりfor文と同様の動きのようだ。
Python3 入門:for文 list ,dict ,zip ,enumerate ,
今回はfor文です。
8. 複合文 (compound statement) — Python 3.4.3 ドキュメント
他の言語と少し違うので戸惑いますが
これはこれでOKな気がします。
まぁこれを基本としていきます。
range関数を使用すれば規定回数まで回せる
index と 値が同時に取得したい場合はこちら↑
elseは最後に実行される。elifは存在しない
forが実行されなくてもelseは実行される。なんでだよぅ。。。
breakすればelseは実行されない
continue も存在する。この場合elseも実行される。
複数のlistをまとめて回せる
まとめるとtupleになりのですが。。。。
まぁそういうもんだと言うことで。。
reversedで逆回転が簡単になります。
辞書型で回す場合はこちら
シーケンスでないとreversedは使えないらしい
dict 辞書型の keyと値を取得するにはitemsを使用する。
今回はこれを参考にした
Python3 入門:if文 制御構文を掘り下げる
Python3 入門 if文
さてさておきまりのif文ですが 入門ということで
8. 複合文 (compound statement) — Python 3.4.3 ドキュメント
はい実にお決まりです。
ただこれ以外にも色々と書き方があるので
ちょっとそこまで掘り下げて見てみる
チュートリアルが不親切な気がするのは、自分だけでしょうか。そうですか。。
ではipython notebookで開始します。
はい
いたって普通です。これを変数変えてそれぞれ通します。
まぁ要は評価がTrueになればステートメントに入るということですね。
じゃあステートメントに何も書かなかった場合は当然Errorになるのですが
見てみます。
若干読みやすくするためにコード詰めてますが
elseは返却するエラーが違います。
if elifの箇所を見ればわかりますがそれぞれ1段下の評価式の部分でエラーが出ていますので、このような形になったんでしょう。
このような場合にはpassを使用しますがあまり使わないでしょう
はい華麗にパスしてますね
次に三項演算子でのif
あれ?これは三項なのか?
三項じゃねぇ!!ガ━━(;゚Д゚)━━ン!!
XLSか!!
for文でも使えるけど
それは次回。。。
いやこれはあんまり深いネストは使いたくないな。。。