タグ

pythonとqiitaに関するU1and0のブックマーク (21)

  • PC-Arduino間 Python経由 シリアル通信備忘録 - Qiita

    目的 稿の目的は, Python を用いて Arduino とシリアル通信を行い, 更に同通信により得た値を数値として処理できるようにすることである. 目標 PC側から Arduino にデータを送信, その内容に応じて Arduino の動作を変化させる PCが, Arduino から受信したデータを数値的に処理できるようにする 具体的目標 PCから文字データを送信し, ArduinoのLEDの明滅を操作するプログラムを組む 超音波距離センサ HC-SR04 から得たデータから数値を取り出すプログラムを組む 上記プログラム言語には Python 3.x を利用する 準備 Arduino Uno Rev.3 USBケーブル LED ジャンパワイヤ 4 HC-SR04 Python 3.x , Arduino IDE Python モジュール : PySerial 環境 Windows

    PC-Arduino間 Python経由 シリアル通信備忘録 - Qiita
    U1and0
    U1and0 2019/05/23
    python3系でもwindows上でシリアル通信できた。vimから:python %でシリアルモニター開ける
  • ExcelにPythonが搭載? - Qiita

    自分は、1年前からPythonを使い始めました。Pandasを始めとするPythonのデータサイエンス用のライブラリーは便利です。 つい最近、マイクロソフトがExcelPythonを搭載することを検討しているというニュースが流れました。VBAとは長い付き合いなので、前半でVBAよりPandasが数倍便利だということを書いて、後半でExcelPythonを搭載されることへのコメントを書くことにします。自分は、ExcelはデータのためのGUIツールとしては便利で役に立つツールだと思っています。ただ、VBAの方が長年放置されていて最近の言語としては落第なのでPythonが搭載されることを期待したいと思っています。急遽テーマを変更したので、時間がなくて以下は「Excel VBA Advent Calendar 2017 20日目」の記事と同じにしてしまいました。 「ExcelPythonが搭

    ExcelにPythonが搭載? - Qiita
  • pandas で 3 次元のデータ構造を扱う - Qiita

    3 次元のデータを扱う pandas におけるデータ構造として主要なものに 1 次元つまり線の Series と 2 次元つまり表形式の DataFrame があります。これは pandas における主要なオブジェクトであり Python for Data Analysis でも詳しく解説されています。 しかし実はもう一つ主要なオブジェクトがあります。それが Intro to Data Structures でも 3 つ目に登場する 3 次元の Panel です。 この 3 次元のデータ構造は、たとえば毎日の表データから任意の数値を取り出して時系列のログに関する統計分析をおこないたいといった用途において役立ちます。 Panel オブジェクトを作る Panel は辞書形式にした DataFrame または 3 次元の ndarray を引数にとることで生成することができます。具体的にやってみ

    pandas で 3 次元のデータ構造を扱う - Qiita
    U1and0
    U1and0 2017/12/03
    pf.shapeしてpf.ix[:,1:3,0]みたいな
  • Perl、Python、PHP、Rubyについて - Qiita

    今更ながら、比較というか、意見を述べる。ただの自己満足と私的見解。 誕生の歴史的経緯 それぞれの言語が作られた経緯と目的を知ることは、その言語を使う意味で重要であると思う。 Perl前の時代 Perl前の時代、世の中にはC言語のようなコンパイル言語しかなく、コンパイルせずに処理ができるのはシェルやsedやawkぐらいしかなかった。ちょっとしたテキストを自動的に処理したいが、C言語とかで格的に作成するような物ではないとき、人はみんな、シェルスクリプトとしてUNIXのコマンドを並び立てて処理していた。sortやtestなどの便利なコマンドがUNIXには用意されていたし、ちょっと複雑な処理でもsedやawkを駆使しして、何とかできていた。 しかし、シェルと言ってもBourne Shell系とC Shell系の二つがあったり、同じUNIXコマンドでもOSによってオプションが異なるなど、移植性が低

    Perl、Python、PHP、Rubyについて - Qiita
  • [Python2.7] subprocess の使い方まとめ - Qiita

    概要 subprocessを使う機会が結構多いので、わからなくて調べた点をまとめます。 調査時の自分のユースケースとしてPython 2.7環境が前提だったため、記事はPython 2.7向けになります。 基的には以下の公式ドキュメントを参照して下さい。 17.1. subprocess — サブプロセス管理 — Python 2.7.x ドキュメント 特にPython3.5以上の場合は汎用のrun()コマンドが追加されていたりと使用方法が異なっているため、 そのまま転用せず公式を参照して下さい。 17.5. subprocess — サブプロセス管理 — Python 3.5.2 ドキュメント インポート指定

    [Python2.7] subprocess の使い方まとめ - Qiita
    U1and0
    U1and0 2017/05/31
    call, check_call_ check_output
  • [Python] CufflinksでPandasのデータフレームをPlotlyに一発描画 - Qiita

    はじめに 以前、[Python] Plotlyでぐりぐり動かせるグラフを作るの記事で、インタラクティブなグラフを描画することができるPlotlyというライブラリを紹介しました。ただ、Plotlyの描画に至るまでに唱える呪文をいまいち覚えきれず、毎回どこかからコピペをしており、手軽に使用できないかなと常々思っていました。 そんな状況で、Cufflinksという、Pandasのデータフレームから、Plotlyを用いたグラフを一発で描画するライブラリを見つけたので紹介します。 Cufflinksのインストールと使いかた インストールは、pip install cufflinksで完了です。 描画するには、Cufflinksをインポートしてから、df.plot()と同じように、df.iplot()と打ち込むだけと簡単! import pandas as pd import numpy as np

    [Python] CufflinksでPandasのデータフレームをPlotlyに一発描画 - Qiita
    U1and0
    U1and0 2017/05/06
    “# オフラインモード、白基調のテーマ、リンク表示OFFをデフォルト設定に cf.set_config_file(offline=True, theme="white", offline_show_link=False) ”
  • Qiitaの記事とJupyter notebokとの相互変換 - Qiita

    はじめに Qiitaの記事をJupyterで見たいとき、コピペでもいいですが、一括して変換できるようにプログラムを作ってみました。 Jupyter notebookからMarkdownへ まずは、Jupyter notebookからMarkdownへ変換してみましょう。 Jupyterの"File"メニューの"Download as"からもできますが、Pythonでやってみます。 以下のコードを"make_md.py"とし、下記のようにすると、結果を画面に表示します。 python make_md.py "ファイル名" "raw"の場合、preタグで囲んでいます。 "code"の場合、"py3"にしています。 import sys, yaml if len(sys.argv) < 2: exit() try: with open(sys.argv[1], encoding='utf-8')

    Qiitaの記事とJupyter notebokとの相互変換 - Qiita
    U1and0
    U1and0 2016/12/11
    Jupyter notebookからMarkdownへ / MarkdownからJupyterへ
  • 【備忘録】Pythonにおけるアンダースコア"_"の役割について - Qiita

    Pythonのサンプルコードを読んでいて、 def __init__(): であったり、 def _variable_hogehoge(x): みたいなアンダースコア二つ又は一つで書かれるのをよく見る。 アンダースコア二つで定義される関数は外部の参照を受けないもの。この場合、アンダースコアで囲う。 アンダースコア一つで定義される関数は参照はできるが、基的に外部から参照しない ということを慣習化させたものらしい。 ここまでは知っていたが、こんなサンプルコードの一文が _, loss_value = sess.run([train_op,loss]) なんのアンダースコアなのかなーと思い調べてみたところ "Python で使わないタプルの値は “_” (アンダーバー) に代入するというプラクティス" ようは、使わない返り値に変数を割り当てるのはナンセンスだから、アンダースコアで無視しましょう

    【備忘録】Pythonにおけるアンダースコア"_"の役割について - Qiita
    U1and0
    U1and0 2016/11/21
    アンダースコア二つで定義される関数は外部の参照を受けないもの。この場合、アンダースコアで囲う。 アンダースコア一つで定義される関数は参照はできるが、基本的に外部から参照しない ということを慣習化させたも
  • https://qiita.com/yudsuzuk/items/a13236a415f238da857e

  • Pythonではじまる、型のある世界 - Qiita

    アノテーションを実際に行っているのは以下の部分になります。 name: str: 引数nameが、str型であることをアノテート -> str: 関数greetingの返り値の型がstrであることをアノテート また、Type Hintsでは変数宣言における型コメントについても言及されています。 こちらは構文ではなく当にコメントの拡張になりますが、現在既にこうした型に関するコメントを付けているのであれば、上記の記法に乗っ取っておけば将来的に何かしらのツールで型チェックを行えるようになる可能性があります。 これがPythonに導入された、型のある世界・・・になります。 なお、付与されたアノテーションは、実行時にはチェックされません。端的に言えばコメントの延長となります。 そのため強制力はありませんが、実行時に何もしないためパフォーマンスに影響を与えることもありません。 よって原則的には静的解

    Pythonではじまる、型のある世界 - Qiita
    U1and0
    U1and0 2016/10/30
    def foo(bar:str) -> hoge:
  • Cloud9で簡単Jupyter環境構築 - Qiita

    超簡単設定 超簡単バージョンを作りました。 https://github.com/y-sama/cloud9 主に、Jupyter, Pandas, Scikit-learn, tensorflowが使えるようにしています。 Introduction 最近某所でオンラインIDE Cloud9にJupyterをのせられるという話を聞きました。 先行記事がありますが、自分用にまとめ直します。 セキュリティ無視の最速設定なら10分弱、色々設定しても30分かからないと思います。 Cloud9で使える無料DISKは2GBですが、1.6GBほど使います。残念ながらディスクスペースをうのでTensorflowはインストール不可です。 またシングルコアなので気計算はできませんが、Jupyterに興味があるとか、pandasを試したいとか、scikit-learnのチュートリアルしたいとかなら十分です。

    Cloud9で簡単Jupyter環境構築 - Qiita
    U1and0
    U1and0 2016/10/23
    セキュリティ無視の最速設定なら10分弱、色々設定しても30分かからないと思います。 Cloud9で使える無料DISKは2GBですが、1.6GBほど使います。残念ながらディスクスペースを食うのでTensorflowはインストール不可です。 またシ
  • Pythonでの正規表現の使い方 - Qiita

    正規表現の検索演算子やパターンや検索自体のルールはPerlPHPとほとんど変わりないみたいですが。 正規表現の関数の使い方などは全然違うので、自分の勉強&整理の為に書いておきます。 正規表現の検索演算子などには言及しません 初期設定 以下のライブラリーを読み込むことで、正規表現が使えるようになります。 正規表現を使うためには、2つ方法があります。 一つは、事前に検索するパターンをコンパイルしておく方法です。 この方法を使うと、同じパターンで何度も検索する場合に、毎回パターンを指定する必要なく、高速に検索することが出来るようになります。 http://docs.python.jp/3/howto/regex.html#compiling-regular-expressions それから、パターンの最初にrを付けることをを勧めします、付けなくても基的には大丈夫ですが、付けることによって文字

    Pythonでの正規表現の使い方 - Qiita
    U1and0
    U1and0 2016/10/23
    findall(pattern, string) 正規表現にマッチする部分文字列を全て探しだしリストとして返します。
  • datetimeで曜日を調べる - Qiita

    pythonのdatetimeモジュールで曜日を調べるにはweekdayメソッドを使うといい。 weekdayメソッドはオブジェクトが作る日付の曜日を0-6の数字で返してくれる。 0が月曜日、1が火曜日で6が日曜日なので月〜日を格納したリストを用意しておけば曜日に変換できる。 #!/usr/bin/env python # -*- coding: utf-8 -*- import sys from datetime import * from time import * print "以下の形式で日付を入力してください 例:'2016/07/30'." user_input_date = raw_input("日付:") yobi = ["月","火","水","木","金","土","日"] while user_input_date != "bye": try: a = datetim

    datetimeで曜日を調べる - Qiita
    U1and0
    U1and0 2016/10/03
    weekdayメソッドはオブジェクトが作る日付の曜日を0-6の数字で返してくれる。 0が月曜日、1が火曜日で6が日曜日なので月〜日を格納したリストを用意しておけば曜日に変換できる。
  • Jupyterのショートカット - Qiita

    Jupyterのショートカット。意外にまとめたサイトを見なかったので、よく使うものを備忘録的に。 esc を押してコマンドモード Enter:セルの編集 L :行番号表示。再度押すと非表示 M: マークダウンモード Y: コードモード C:セルのコピー V:コピーしたセルのペースト K:上のセルに移動 J:下のセルに移動 A:上のセルの選択 B:下のセルの選択 DD:セルの削除 Space:スクロールダウン Shift + Space: スクロールアップ セルの編集モードの時 Shift+Enter:セルの実行、次のセルへ移動 ctrl +Enter:セルの実行のみ 他にはこちらにも英語の記事がありました。全部のショートカットは試していませんが、上のものは、自分で確認しています(ただし確認はMacでしかしてません)。ゴメンナサイ! (escを押してコマンドモードに切り替わるというように記載

    Jupyterのショートカット - Qiita
    U1and0
    U1and0 2016/10/01
    esc を押してコマンドモード Enter:セルの編集 L :行番号表示。再度押すと非表示 M: マークダウンモード Y: コードモード C:セルのコピー V:コピーしたセルのペースト K:上のセルに移動 J:下のセルに移動 A:上のセルの選択 B:下の
  • pandasで様々な日付フォーマットを取り扱う - Qiita

    新生活応援期間中とのことですので,"pandas"の使い方,特に日付フォーマットについて取り上げたいと思います.「Pythonデータ分析に強い」という評判がありますが,これは以下のような「定番」パッケージによって実現されています. "pandas" for representing and analyzing data "NumPy" for basic numeriacal computation "SciPy" for scientific computation including statistics "StatsModels" for regression and other statistical analysis "matplotlib" for visualization (以上,"Think Stats" より引用.) pandas は,Seriesオブジェクト(1次元

    pandasで様々な日付フォーマットを取り扱う - Qiita
    U1and0
    U1and0 2016/09/18
    f3 = '%Y年%m月%d日' my_parser = lambda date: pd.datetime.strptime(date, f3) df3 = pd.read_csv('./pandas_date_ex/example3.csv', index_col=0, parse_dates=0, date_parser=my_parser) ? or ?pd.to_datetime(date, format=f3)
  • pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table()) - Qiita

    pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table())Pythonpandas

    pandasでread_csv時にUnicodeDecodeErrorが起きた時の対処 (pd.read_table()) - Qiita
    U1and0
    U1and0 2016/09/11
    日本語csv開く方法
  • Python の Lint (文法チェッカ) まとめ - flake8 + hacking を使う - - Qiita

    結論を先に これから紹介する中で hacking が一番厳しい条件でチェックしてくれる。 hacking を使おう。私は使っている。 さらに禁欲的にするために、 flake8-import-order と flake8-pep257 も使おう。 直すのが大変そうな時も pyformat や isort など補助してくれそうなツールがある。 2015-08-11 追記 (既に修正済み): PEP 257 周りの説明で事実の誤認があった。 hacking だけでは PEP 257 のチェックはしないようだ。 flake8-pep257 をインストールすることでチェックできる。 エディタの補助 可能な限りはやく気がつくため、エディタのプラグイン等で自動チェックできるなら、した方がいい。 以下は代表的なエディタでの flake8 でチェックするプラグイン。 これらの機能を取り込んだ IDE 化する

    Python の Lint (文法チェッカ) まとめ - flake8 + hacking を使う - - Qiita
    U1and0
    U1and0 2016/09/09
    pep8 pep257 pyflakes flake8 hacking flake8-pep257 import-order flake8-import-order まとめ まだまだあるぞ flake8 プラグイン mccabe と radon オマケ autopep8 autoflake isort docformatter pyformat
  • Sublime Text 2と3のざっくりとしたPluginまとめ - Qiita

    仕様書 2,3それぞれのインストールしてあるやつ覚え書き。自分用。動作環境はMac。随時更新します。間違ってるとこあるかも。 Package Control パッケージをインストールするやつ Gist コードの断片をあげるほう TrailingSpaces 全角スペース教えてくれるやつ Abacus イコールで行揃えしてくれるやつ FindKeyConflicts ショートカットキーの重複確認するやつ Goto-CSS-Declaration クラスにカーソル当てて「⌘→」でCSSの定義箇所に飛んでくれるやつ 右クリックでもいける BracketHighlighter 括弧にアンダーラインとかつけてくれるやつ ColorPicker 「⇧⌘P」でカラーピッカー開いて選択するとそのまま入力してくれるやつ Emmet HTML,CSSのコード補完の補強 jQuery コード補完の補強 HTML

    Sublime Text 2と3のざっくりとしたPluginまとめ - Qiita
  • Numpyによる乱数生成まとめ - Qiita

    Python標準にも random というモジュールがあるが、ベクトル演算の可能な numpy のほうが「大量に乱数を生成してなんかの処理をする」という場合に高速に動く。あと分布関数が山ほど用意されている。 一様乱数 numpy.random.rand() で 0〜1 の一様乱数を生成する。引数を指定すれば複数の乱数を生成できる。乱数の範囲を変えたい場合は後からベクトル演算をすれば良い。 from numpy.random import * rand() # 0〜1の乱数を1個生成 rand(100) # 0〜1の乱数を100個生成 rand(10,10) # 0〜1の乱数で 10x10 の行列を生成 rand(100) * 40 + 30 # 30〜70の乱数を100個生成 from numpy.random import * """ 標準正規分布。いわゆるガウシアン。標準正規分布ならば

    Numpyによる乱数生成まとめ - Qiita
    U1and0
    U1and0 2016/08/21
    from numpy.random import * rand() # 0〜1の乱数を1個生成 rand(100) # 0〜1の乱数を100個生成 rand(10,10) # 0〜1の乱数で 10x10 の行列を生成
  • (インターン向けに書いた)Pythonパッケージを作る方法 - Qiita

    この記事は何? Pythonパッケージの作り方を説明する Pythonパッケージを作るときに意識して欲しいことを説明する この記事はポエムです これまでのあらすじ インターンを迎える予定なのですが、彼らはパッケージを作ったことがないそうです。 一方で、企業としては、パッケージ化までしてくれないと、実務に使うまで時間がかかってしまって大変です。 そこで、社内向けに「Pythonパッケージの作り方」という文書を書きました。これをインターンの人に読んでもらっていい感じのパッケージを作ってもらうぜ!という都合の良い目論見です。 しかし、 私もいままでパッケージ化のノウハウをきちんと体系的に勉強したわけではないので、イマイチ不安です。そこで、Qiitaにポエム投稿して、ポエム修正をしてもらおうと思ったわけです。 ところどころ日語が変なのはご容赦ください。日語に不自由してます。1 この記事を読む人

    (インターン向けに書いた)Pythonパッケージを作る方法 - Qiita
    U1and0
    U1and0 2016/08/11
    git flowに従え Type hint書け docstring,package依存書け