<ATOM> Proxy越しのアップデート、その2

Proxy越しのアップデート、その2。
久々に、アトムさんatomSetting開いて、アップデートUpdateしようとしたらこけた。
どうもプロキシさんが変わったので、設定しなおした。
ちと、はまったので、メモ。

その1...
atomさんの設定ファイルは下記にある。

C:\\Users\\hage\\.atom\\.apmrc

その2...
設定ファイルの中身が正しく反映されているかは、下記コマンドで確認できる。

C:\Users\hage\.atom>apm config ls
; cli configs
globalconfig = "C:\\Users\\hage\\.atom\\.apm\\.apmrc"
user-agent = "npm/3.10.10 node/v6.9.5 win32 ia32"
userconfig = "C:\\Users\\hage\\.atom\\.apmrc"

; environment configs
node-gyp = "C:\\Users\\hage\\AppData\\Local\\atom\\app-1.23.3\\resources\\app\\apm\\bin\\\\..\\node_modules\\node-gyp\\bin\\node-gyp.js"

; userconfig C:\Users\hage\.atom\.apmrc
http-proxy = "http://hagehage.hohoho.com:80"
https-proxy = "http://hagehage.hohoho.com:80/"
strict-ssl = false

; globalconfig C:\Users\hage\.atom\.apm\.apmrc
cache = "C:\\Users\\hage\\.atom\\.apm"
progress = false

; node bin location = C:\Users\hage\AppData\Local\atom\app-1.23.3\resources\app\apm\bin\node.exe
; cwd = C:\Users\hage\.atom
; HOME = C:\Users\hage
; "npm config ls -l" to show all defaults.

その3...
https-proxyの設定のところは、プロキシの設定値を、httpsでなくて、httpsを抜かないといけん。
これが一番はまった。
sつけたままだと、アップデートのところで、次のエラーが発生した。

tunneling socket could not be established, cause=socket hang up

この人に助けられた。ありがとうです。
note.nkmk.me

昔の記事っす。
nekoyukimmm.hatenablog.com

<pandas, Python> 条件にあった行を削除する。

条件conditionにあった行Rowを削除dropする。

まずは、お見本データフレームDataFrame作成。

In [54]: data='''
    ...: 1 2 3 4 5
    ...: a b c d e
    ...: f g h i j
    ...: k l m n o
    ...: '''

In [55]: df = pd.read_table(io.StringIO(data), sep=' ')

In [56]: df
Out[56]: 
   1  2  3  4  5
0  a  b  c  d  e
1  f  g  h  i  j
2  k  l  m  n  o

で、行のドロップ。
インデックスindexで指定すればよし。

In [58]: df.drop(1)
Out[58]: 
   1  2  3  4  5
0  a  b  c  d  e
2  k  l  m  n  o

In [59]: df.drop([1])
Out[59]: 
   1  2  3  4  5
0  a  b  c  d  e
2  k  l  m  n  o

で、列columnの場合はaxis=1を指定。

In [61]: df.drop(['1'], axis=1)
Out[61]: 
   2  3  4  5
0  b  c  d  e
1  g  h  i  j
2  l  m  n  o

あとは、条件にあった行を見つける。

In [65]: df[['1', '3']].apply(lambda x: True if x[0] == 'f' and x[1] == 'h' else False, axis=1)
Out[65]: 
0    False
1     True
2    False
dtype: bool

In [66]: j = df[['1', '3']].apply(lambda x: True if x[0] == 'f' and x[1] == 'h' else False, axis=1)

In [67]: j
Out[67]: 
0    False
1     True
2    False
dtype: bool

で、True/Falseのリストをデータフレームに突っ込めばオッケー。

In [68]: df[j]
Out[68]: 
   1  2  3  4  5
1  f  g  h  i  j

が、、、こんな難しいことせんでも下記でよかった。。。

In [78]: df[(df['1'] == 'f') & (df['3'] == 'h')]
Out[78]: 
   1  2  3  4  5
1  f  g  h  i  j

<mermaid> 後追いで、マーメイドの絵を出す。

JQuery.ajax()とかで、後追いで、マーメイドmermaidのソースsourceを読んで絵を作る方法。

mermaid.init()をする。 うまくいった! すばらしい。

jsfiddleで遊んでみた。
https://jsfiddle.net/3hx9ag6m/2/

すっごくお世話になったところ。助かりました。(vv)
naosim.hatenablog.jp

マニュアル。
https://mermaidjs.github.io/usage.html

<Python> アルファベットのリストを作る。

chr()アスキーコードを入れればOK! 逆は、ord()だよーん。

In [61]: [chr(i) for i in range(65,65+26)]
Out[61]: 
['A',
 'B',
 'C',
 :
'X',
 'Y',
 'Z']

In [62]: a = [chr(i) for i in range(65,65+26)]

In [63]: [ord(i) for i in a]
Out[63]: 
[65,
 66,
 67,
 68,
:
 88,
 89,
 90]

参考にさせてもらいました。
hetapy.hatenablog.com

アスキーコード表。
http://www.k-cube.co.jp/wakaba/server/ascii_code.html

<pandas, Python> ふたつのカラムの値でソートする。

2つ、ふたつのカラムcolumnの値でソートsortする。

In [58]: df = pd.DataFrame({'a':[2,2,1,1,1],'b':[2,1,3,1,2],'c':['a','b','c','d','e']})

In [59]: df
Out[59]: 
   a  b  c
0  2  2  a
1  2  1  b
2  1  3  c
3  1  1  d
4  1  2  e

In [60]: df.sort_values(['a','b'], ascending=[True, True], inplace=False)
Out[60]: 
   a  b  c
3  1  1  d
4  1  2  e
2  1  3  c
1  2  1  b
0  2  2  a

inplace=Trueにすると、データフレームDataFrameの中身をソートしたもので置き換える。

いつものスタックオーバーフロー。
stackoverflow.com