スペクトラルクラスタリング いい機会だし先日投稿したスペクトラルクラスタリングとやらを実際にやってみたいと思います。ソースコードは再生産しても仕方がないのですぐる様のブログからパクってお借りします。 すぐる様のブログにあったコードはそのままではうまく動作しなかったのと、Jupyter notebook のお作法に従って少しコードを手直ししています。(そのまま実行するとGraph is not fully connected, spectral embedding may not work as expected.というwarningが表示されました。このwarningに関してもGitHubのissueに素晴らしい回答があるのですが読むのが面倒臭かったので@taki__taki__様のブログよりスペクトラルクラスタリングの実行部分のコードを1行だけお借りしました。また、%matplotlib
ホストの調査に便利なnmapですが、スクリプト言語から使えたら便利です。 Pythonにはnmapのモジュールが用意されています。 そこでPython+nmapでポートスキャンをしてみましょう。 モジュールのインストール pipでモジュールをインストールすることができます。 pip install python-nmap スキャン nmapパッケージがPortScannerを持っています。 インスタンスを作りスキャンを実行できます。 import nmap ps = nmap.PortScanner() # scan port 1 to 65535 ps.scan('192.168.11.11','1-65535', '-sSV') オブジェクトのscanメソッドの第三引数にはフラグを指定できます。 フラグはシェルコマンドのnmapと同じもので大丈夫です。 今回はSYN Scanを指定して
ネットワーク分析する際は、いつもjavascriptかpythonでnodeとedigeのjsonファイル(または.dotファイル)を作成してから、gephiを利用していたけど、pythonで完結できないかと思って検討した結果。 タイトルのとおり、pythonの3つのライブラリを連携させれば楽にネットワーク分析&可視化までできる。 中心となるnetworkxさまさま。おかげで苦労してきたデータ作成や出力などが一気に楽になった。 1.ネットワーク元のデータ やはりpandasの利用。 networkxのドキュメントに「from_pandas_edgelist」という関数がある。 Parameters df (Pandas DataFrame) – An edge list representation of a graph source (str or int) – A valid colu
まえがき Pythonを使えばテキストを含むPDFの解析は簡単だ・・・ 文字情報が含まれていればPDFから文字やテーブルの情報を抽出して、そのデータを利用してWebサービスなんて簡単につくれるぜ、ひゃっほーいっという安易な思考の結果が以下になります。 新型コロナウイルス感染症の感染拡大を踏まえたオンライン診療のPDFデータを利用してみた https://qiita.com/mima_ita/items/c0f28323f330c5f59ed8 ここで得た最も重要な知見は「PDFデータをコンピュータで読むのはやめとけ、あれは人間が読むものだ」ということと、わずかなPythonを使用したPDFの取り扱いの方法です。 今回はそのわずかなPythonを使用したPDFの取り扱い方法について説明します。 なお、実験環境はWindow10のPython 3.7.5 64bitになります。 operand
Pythonで、リスト(配列)から、 重複した要素を削除(一意な要素・ユニークな要素のみを抽出) 重複した要素を抽出 して、新たなリストを生成する方法について説明する。 なお、リストではなくタプルの場合も同様の考え方で実現可能。 リストやタプルが重複した要素を持っているかどうかを判定したい場合、一つのリストではなく複数のリスト間で共通する要素や共通しない要素を抽出したい場合は以下の記事を参照。 関連記事: Pythonでリスト(配列)に重複した要素があるか判定 関連記事: Pythonで複数のリストに共通する・しない要素とその個数を取得 なお、リストは異なる型のデータを格納可能で、厳密には配列とは異なる。配列を扱いたい場合はarray(標準ライブラリ)やNumPyを使う。 関連記事: Pythonのリストと配列とnumpy.ndarrayの違いと使い分け numpy.ndarrayに対する
pandasは、DataFrameの値の取得方法がいろいろあるため、値の代入更新もつい「この書き方でいいんだっけ」と混乱する。 基本的には(一般的な代入と同じく)左辺で更新するデータ範囲を、右辺で値を指定するのだが、左辺のデータ範囲の指定方法が様々あるのに加え、右辺での値の指定にも複数方法がある。 df.loc[df['col1']==3, ['col2', 'col3']] = df['col4'] col1 が 3 である行の col2,col3 列を、ともに同行の col4 の値にする 大別すると以下の感じ。 左辺のアクセス関数に例えば配列を渡しても、関数の種類や配列の中身によって、名前か、添字か、どのように解釈されるか異なってくるのがややこしさの元となる。
リスト内のTimedeltaをnp.meanで平均しようとしたのですが、Python int too large to convert to C longと出てしまいます。 リスト内の時間がCのlongの範囲を超えてしまったということなのでしょうが、これをどうにか計算できるようにすることは可能なのでしょうか。 listを間引きすれば計算できる様にはなるのですが、間引きせずに計算できる方法があれば教えていただきたいです。 よろしくお願いします。 リスト(kakuteiList_np) [[0 Timedelta('18 days 00:24:58')] [1 Timedelta('17 days 23:59:23')] [2 Timedelta('0 days 03:23:49')] ... [17202 Timedelta('0 days 19:49:57')] [17203 Timede
正規表現における先読みと後読みは、マッチするかどうか確認は行うけれどマッチした文字列としては取得しないときに利用します。先読みには肯定先読みと否定先読み、後読みには肯定先読みと否定先読み、がそれぞれ用意されています。ここでは Python を使って正規表現で先読みと後読みを使用する方法について解説します。
「〜を含まない」といった、否定の意味を持つ正規表現を記述する場合、下記のように、大きく分けて2種類のケースがあります。 「特定の1文字を含まない」といった否定表現か、もしくは「正規表現パターンを含まない」といった表現かで、大きく解決の方針が異なる点に注意して下さい。 特定の1文字だけを否定したい場合は非常にシンプルです。この場合、「文字クラス」、もしくはエスケープシーケンスで表される文字型を利用する事で表現できます。 一方で、特定の正規表現パターンを否定したい場合、少し記述が複雑になります。今回は「否定先読み」を利用した表現を、この記事の後半にご紹介します。 基本的な正規表現の記法はこの記事では触れませんので、不安な方はこちらの記事も合わせてご参照下さい: 正規表現とは?基本構文とメタ文字一覧(サンプル付) それでは、順番に詳しく見ていきます。 任意の一文字を含まない文字列の正規表現 a「
正規表現の「AND(かつ)」の表現 正規表現において、複数のパターンの論理積「AND」、すなわち「A、かつB」といったパターンの並列表現はややトリッキーです。初学者にはややハードルが高いかもしれませんが、記事後半に解説を加えておきましたので、よくわからない方はご一読下さい。 〇〇を含む、AND(かつ)、〇〇を含む AND(かつ)条件の例として、リテラル(=ただの文字)のマッチを考えてみます。下記は、「ラーメンを含む、かつ、カレーを含む」という、お子様も大好きなメニューの定番をマッチングする正規表現です。 // ラーメンを含み、かつ、カレーを含む文字列の表現 ^(?=.*ラーメン)(?=.*カレー).*$ 注目すべきは、「(?=」「)」の括弧です。これは肯定先読みを言いますが、こちらについては、追って解説します。 〇〇を含む、AND(かつ)、〇〇を含むまない 同様に、否定先読みを組み合わせて
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く