2018-01-01から1年間の記事一覧

【Python】データフレームに行を追加する方法【Pandas】

データフレームを1行ずつ追加する方法。 複数行ずつでも同じやり方でできる。 1. DataFrameのappendを使う merged = pd.DataFrame() for idx in range(10): temp_df= pd.DataFrame([idx], columns=['col']) merged = merged.append(temp_df) merged = merge…

【Excel】VLOOKUPは忘れてINDEX/MATCHを使おう

VLOOKUPは正直使いにくい。 検索カラムが参照カラムより左にないといけない。 列を並び替えると壊れる。 横に長いと何番目かわからない など。 というわけで、INDEX/MATCHを使ったほうがいい。 =VLOOKUP(C2, $A:$B, 2) =INDEX($B:$B, MATCH(C2, $A:$A, 0)) 2…

【Python】凡例の位置を画像座標で指定する

グラフの凡例を画像座標で指定したいときは、下記のように座標変換する。 import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(211) #テストのためにグラフをずらす. fig_posX = 0.5 #画像座標X fig_posY = 0.75 #画像座標Y ax.set_xl…

【Python】特定の文字で始まる(終わる)カラムを抽出したい【Pandas】

こんな感じのデータフレームから'_x'で終わるカラムを取り出す。 df = pd.DataFrame([[1,2,3,4]], columns = ['col1_x', 'col2_x', 'col1_y', 'col2_y']) #私が作りました(^p^) 下記のコマンドにより抽出。 df_extracted = df.loc[:,df.columns.str.endswith…

【iPython】テキストの貼り付け

ipythonのコンソールに複数行の命令を張り付けて実行したいときは %cpasteコマンドを使う。 In [1]: %cpaste Pasting code; enter '--' alone on the line to stop or use Ctrl-D. : :a ='Hello.' :print(a) :-- Hello. 気を付けるのは下記の点くらい。 先頭…

【Python/Pandas】ピボットテーブル化と逆変換

pandas ver0.22 pd.pivotでピボットテーブルを作成。 pd.meltで逆の変換ができる。 コード全体は下記のとおり。 import pandas as pd df_pivot = pd.DataFrame([[101, 201, 301], [102, 202, 302], [103, 203, 303]], columns=['a', 'b', 'c'], index=['a', …

【Python】Pandasのデータフレームの要素に配列を代入したい

環境: python 3.6 pandas 0.22.0 画像のようなデータフレームを作りたいときのメモ。 下記のようにやればできる。 array_1d = np.ones(2) array_2d = np.ones([1, 2]) * 2 df.loc[0, 'obj'] = array_1d df.loc[[1], 'obj'] = [array_2d] #別解1 df['obj'] =…

【Ubuntu】initramfsとでて起動できない

busyboxとかinitramfsとか出てOSが起動しない。 rebootコマンドは使えたが、rebootしても同じ現象が続いた。 どうやらブート時のエラーらしい。 下記コマンドで復旧した。 fsck /dev/sda1 参考: ubuntuで起動時にbusyboxとなり起動しない場合の対処法

【Caffe】HDF5レイヤーのforward

Pythonでの話。 type: "HDF5Data"のレイヤーでフォワードプロパゲーションすると、 H5ファイルの1個先のデータが勝手に読み込まれるらしい。 そのためPython上でHDF5Dataレイヤーに自分でデータをセットしようとしても、 H5ファイルから勝手に読み込まれたデ…

【Python】UbuntuでAnaconda

Ubuntu16.04でAnaconda4.4をインストールしてSpyderを使おうとしたら下記のエラーが出た。 This application failed to start because it could not find or load the Qt platform plugin "xcb" 下記のようにしてspyderを使っていたけど、これは間違い。 Qt…