はじめに 文字列処理に関する3種類の自作関数を紹介します。 具体的には、主に以下の2点を目的としています。 ・正規表現の円滑な適用 ・英字 / かな / カナ / 漢字 / 数字 の識別 ☆ 02/26 時点で全体構成を刷新しました。 下準備
![正規表現のポテンシャルを引き出す自作関数3選 [Python] - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/b765894ff3521ec4cf0192c3a571251de6294371/height=288;version=1;width=512/https%3A%2F%2Fqiita-user-contents.imgix.net%2Fhttps%253A%252F%252Fcdn.qiita.com%252Fassets%252Fpublic%252Farticle-ogp-background-9f5428127621718a910c8b63951390ad.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTkxNiZ0eHQ9JUU2JUFEJUEzJUU4JUE2JThGJUU4JUExJUE4JUU3JThGJUJFJUUzJTgxJUFFJUUzJTgzJTlEJUUzJTgzJTg2JUUzJTgzJUIzJUUzJTgyJUI3JUUzJTgzJUEzJUUzJTgzJUFCJUUzJTgyJTkyJUU1JUJDJTk1JUUzJTgxJThEJUU1JTg3JUJBJUUzJTgxJTk5JUU4JTg3JUFBJUU0JUJEJTlDJUU5JTk2JUEyJUU2JTk1JUIwJUVGJUJDJTkzJUU5JTgxJUI4JTIwJTVCUHl0aG9uJTVEJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWNsaXA9ZWxsaXBzaXMmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz1iZjExNjU2ZmQ5Mjk3NTdkZDQyMGZjZTBhMzAwMWExMA%26mark-x%3D142%26mark-y%3D112%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTYxNiZ0eHQ9JTQwc19hc290dXMmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPWZjNGExOTg4YzU4Njk4NzU0ZDE1NzhiMzFkY2NiNTVi%26blend-x%3D142%26blend-y%3D491%26blend-mode%3Dnormal%26s%3Dc0d0d7bca908791973c2a2dbce1b99b5)
pandasのDataFrameの値を更新する方法がいくつかあるので、後で見返す為にも更新方法をまとめておく。 以下のlocやwhereの他に一括更新の方法がある。 DataFrameの値を更新する方法 pandasのDataFrameの値を更新する方法がいくつかあるが、大きく以下の3つの方法に分けられる。 値を一括代入 条件に合致するカラムを更新 別のDataFrameで上書き 各方法についてDataFrameを用いながら説明する。 import pandas as pd data_list1 = [ [1,2,3], [2,3,4], [3,4,5] ] col_list1 = ["c1","c2","c3"] df1 = pd.DataFrame(data=data_list1, columns=col_list1) print(df1) # c1 c2 c3 # 0 1 2 3 #
Python初心者企業の財務分析をしたいけど、なにをしたらいいのかわからないよ。。。 この記事は10分程で読むことができます! この記事では、Python初心者でもできるように、財務諸表分析をレクチャーしていきます! 本記事は、全8回に渡って掲載される「pythonによる財務分析‐バフェットコードを用いて完全レクチャー!」シリーズの第1回になります! このシリーズを読むとわかることPython初心者でも、数百数千の企業の財務データを分析出来るようになる! 最終的に重回帰分析といった機械学習的手法もマスターできる! 重回帰分析をマスターすれば、株式投資のリターン予測を行う事が出来るようになり、プログラミングだけでなく投資のスキルも磨けます! また、ファイナンス系以外の幅広い分野の研究機関でも、この分析手法を利用した論文も多々ある為、教養としても覚えて損はないです! 是非、全8回を読みPyth
以下では、DaskやPandasなどと比較して、swifterがどの程度高速なのかを検証したいと思います。 swifterはベクトル化可能な場合とそうでない場合で挙動が異なるので、各々の場合を検証します。 使用したPCのスペックはIntel Core i5-8350U @1.70GHz、メモリが16GBです。 ベクトル化可能な場合 swifterはベクトル化可能なときはベクトル化するので、swifterの計算時間は単純にベクトル化した場合と ほぼ等しくなるはずです。これを確認してみましょう。 import pandas as pd import numpy as np import dask.dataframe as dd import swifter import multiprocessing import gc pandas_time_list = [] dask_time_list
今日はPython (Pandas)で高速にCSVを読むことに挑戦したいと思います。 Kaggleに参加するたびに、イライラしていたので各実装の白黒はっきりさせようと思います。 R使いが羨ましいなぁと思う第一位がCSV読込が簡単に並列出来て速いことなので、 なんとかGILのあるPythonでも高速に読み込みたいと思います。 ただ、この検証ではコーディング量が多いものは検証しません。 CSV読込は頻出するので、フットワークの軽さが重要です。(オレオレライブラリ嫌い) Pickleは早いけど。。。 結論はDask使おう! 検証環境 データ 速度検証 pandas.read_csv() pandas.read_csv() (dtype指定) pandas.read_csv() (gzip圧縮) numpy.genfromtxt() pandas.read_csv() (chunksize指定 +
pandas は可視化のための API を提供しており、折れ線グラフ、棒グラフといった基本的なプロットを簡易な API で利用することができる。一般的な使い方は公式ドキュメントに記載がある。 Visualization — pandas 0.17.1 documentation これらの機能は matplotlib に対する 薄い wrapper によって提供されている。ここでは pandas 側で一処理を加えることによって、ドキュメントに記載されているプロットより少し凝った出力を得る方法を書きたい。 補足 サンプルデータに対する見せ方として不適切なものがあるが、プロットの例ということでご容赦ください。 パッケージのインポート import matplotlib.pyplot as plt plt.style.use('ggplot') import matplotlib as mpl m
はじめに pandas では 2 次元、表形式のデータ ( DataFrame ) を主な対象としているが、ときには 3 次元以上のデータを扱いたい場合がある。そういった場合 以下のような方法がある。 MultiIndex を使い、2 次元のデータにマッピングする。 3 次元データ構造である Panel、4 次元の Panel4D、もしくは任意の次元のデータ構造 ( PanelND ) をファクトリ関数 で定義して使う。 numpy.ndarray のまま扱う。 自分は MultiIndex を使うことが多いが、データを 2 次元にマップしなければならないため 種類によっては直感的に扱いにくい。Panel や PanelND は DataFrame と比べると開発が活発でなく、特に Panel4D、PanelND は 現時点で Experimental 扱いである。また、今後の扱いをどうす
pandas ではデータを 列 や 表形式のデータ構造として扱うが、これらのデータから順番に値を取得 (イテレーション) して何か操作をしたい / また 何らかの関数を適用したい、ということがよくある。このエントリでは以下の 3 つについて整理したい。 イテレーション 関数適用 pipe (0.16.2 で追加) それぞれ、Series、DataFrame、GroupBy (DataFrame.groupbyしたデータ) で可能な操作が異なるため、順に記載する。 まずは必要なパッケージを import する。 import numpy as np import pandas as pd イテレーション Series Series は以下 2つのイテレーション用メソッドを持つ。各メソッドの挙動は以下のようになる。 __iter__: Series の値 ( values ) のみをイテレーシ
最近の空き時間は GitHub で草植えをしている。まずは pandas を日本語環境で使う場合に たまに必要になる処理をまとめた パッケージを作った。 インストール pip install japandas 機能 機能の一覧はこちら。 日時処理 日本語日付のパース 日本の祝日カレンダー 文字列処理 Unicode 正規化 全角/半角変換 リモートデータアクセス 詳細はドキュメントを。 http://japandas.readthedocs.org/en/stable/ 日時処理 日本語日付のパース pandas には 日付らしい入力を適切に処理してくれる pandas.to_datetime があるが、これは日本語の日付 ( "XX年XX月XX日" とか ) に対応していない。例えば 以下のような入力は日時としてパースされず 文字列のまま残ってしまう。 import pandas as
以下の記事を読んでいて、pandas 標準では日本株式の情報が直接とれないことに気づいたのでやり方をまとめたい。 この記事では以下 2 点の処理について書く。 Yahoo! ファイナンス からの株価取得 ローソク足チャートの描画 補足 標準の v0.15.2 で簡単に動きをみているが、ちゃんとテストはしてない。特にローソク足チャートについては pandas の plot クラスにかなり依存しているため、バージョンが変わると動かなくなる可能性がある。 1. 株価の取得 まず、pandas には標準機能として外部サイトのデータを DataFrame で取得する機能 DataReader がある。DataReader では 日本株の情報は直接はとれないが、簡単に動きを書いておく。 DataReader での取得 DataReader では、0.15.2 現在で以下 6 つのデータソースをサポート
概要 こちらの続き。これで pandas でのデータ選択についてはひとまず終わり。 Python pandas データ選択処理をちょっと詳しく <前編> - StatsFragments Python pandas データ選択処理をちょっと詳しく <中編> - StatsFragments サンプルデータの準備 データは 前編と同じものを使う。ただし変数名は変えた。 import pandas as pd s1 = pd.Series([1, 2, 3], index = ['I1', 'I2', 'I3']) df1 = pd.DataFrame({'C1': [11, 21, 31], 'C2': [12, 22, 32], 'C3': [13, 23, 33]}, index = ['I1', 'I2', 'I3']) s1 # I1 1 # I2 2 # I3 3 # dtype:
概要 書いていて長くなったため、まず前編として pandas で データを行 / 列から選択する方法を少し詳しく書く。特に、個人的にはけっこう重要だと思っている loc と iloc について 日本語で整理したものがなさそうなので。 サンプルデータの準備 import pandas as pd s = pd.Series([1, 2, 3], index = ['I1', 'I2', 'I3']) df = pd.DataFrame({'C1': [11, 21, 31], 'C2': [12, 22, 32], 'C3': [13, 23, 33]}, index = ['I1', 'I2', 'I3']) s # I1 1 # I2 2 # I3 3 # dtype: int64 df # C1 C2 C3 # I1 11 12 13 # I2 21 22 23 # I3 31 32
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く