Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article?
はじめに ご無沙汰しております。田中です。今回は jq と JMESpath について書きます。 AWS CLI の返り値の JSON は、以下のように --query オプションに JMESPath を指定して処理できます。 # 名前が test- で始まる最新の AMI の id を取得 $ aws ec2 describe-images \ --filters Name=state,Values=available Name=is-public,Values=false \ --query "Images[?starts_with(Name, 'test-')] | sort_by(@, &CreationDate) | reverse(@)[0].ImageId" "ami-xxxxxxxxxxxxxxxxx"
はじめに CSV のようにカンマ区切りの文字列をそれぞれのフィールドに分割するにはどうするか?というネタです。よく見るネタなのですが、良いとは言えないコードが多いのでまとめたいと思います。 なお例として CSV を扱っていますが、主題は文字列の分割 (split) と結合 (join) なので、ダブルクォートでくくることでカンマや改行も入れられるなどという本気の CSV 対応はしません。仕様が複雑なのでそのようなファイルを扱う場合は別の言語のよく知られたライブラリを使うことをおすすめします。この記事で扱う CSV とは各フィールドがカンマで区切られているというだけのものです。 前提 一行のデータは分割して位置パラメーターに入れる 一行の文字列を分割した結果は、位置パラメータ ($1, $2, $3, ...) に代入するのがおすすめです。位置パラメータは POSIX 準拠(つまり bash
Linuxシステムプログラミング 作者: Robert Love,ロバートラブ,千住治郎出版社/メーカー: オライリージャパン発売日: 2008/04/16メディア: 大型本購入: 5人 クリック: 181回この商品を含むブログ (29件) を見る 結合 Unix/Linuxの標準コマンドで2つのファイルの共通keyで連結することができます。共通keyでの結合にはjoinコマンドを利用します。joinによりSQLのinner joinに近いことがコマンドだけで出来てしまいます。今までテキスト処理をコマンドで行う事が少なかったのでjoinの活用方法を知りませんでしたが、今回調べた内容を記録します。似たコマンドとしてpasteというものもあり、こちらは同じ行数の内容を単純に結合します。そちらについても簡単に紹介します。 join join前にsort joinコマンドを利用する場合は2つのファ
replaceは最初の検索文字しか置き換わらない replaceメソッドを用いた標準の方法では、一番最初にマッチした文字列のみが置き換えられます。replaceFirst的な挙動ですね。 "a b c".replace(' ', '-') // "a-b c" JavaScriptで文字列を全置換する方法 JavaScriptで文字列を全置換するには、正規表現を用いるか、split join メソッドを組み合わせるテクニックを用いる必要があります。 "a b c".replace(/ /g, '-') // "a-b-c" "a b c".split(' ').join('-') // "a-b-c" 前者がreplaceAll処理に相当する「# 正規表現で文字列を全て置き換える」方法です。 後者は「# split と join で文字列をすべて置換する」テクニックです。 より確実でオスス
はじめに 昨日Vaexの性能評価の記事を書きました。 その記事では長くなってしまうので基本的な使い方などを省略しました。 なので今回は入門記事として使い方を紹介します。 blog.ikedaosushi.com Vaexとは 昨日の記事でも書きましたが、遅延評価/Pandasライク/アウトオブコアという特徴を持ったデータフレームライブラリです。 github.com リンク集 ドキュメント: https://docs.vaex.io/en/latest/index.html ライブラリ作者解説記事①: Vaex: Out of Core Dataframes for Python and Fast Visualization ライブラリ作者解説記事②: Vaex: A DataFrame with super-strings – Towards Data Science インストール・読み
なんかぼやぼやしているうちにひさびさの pandas エントリになってしまった。基本的な使い方については網羅したい気持ちはあるので、、、。 今回は データの連結 / 結合まわり。この部分 公式ドキュメント がちょっとわかりにくいので改訂したいなと思っていて、自分の整理もかねて書きたい。 公式の方はもう少し細かい使い方も載っているのだが、特に重要だろうというところだけをまとめる。 連結 / 結合という用語は以下の意味で使っている。まず憶えておいたほうがよい関数、メソッドは以下の 4 つだけ。 連結: データの中身をある方向にそのままつなげる。pd.concat, DataFrame.append 結合: データの中身を何かのキーの値で紐付けてつなげる。pd.merge, DataFrame.join 連結 (concatenate) 柔軟な連結 pd.concat ふたつの DataFram
概要 pythonによるデータ分析入門を参考に、MovieLens 1Mを使ってsqlで普段やってるようなこと(joinとかgroup byとかsortとか)をpandasにやらせてみる。 ファイルの読み込み 落としてきたファイルを解凍すると、movies.dat、rating.dat、users.datという3つのファイルが入っているので、read_csvで読み込む。 import pandas as pd movies = pd.read_csv( 'ml-1m/movies.dat', sep='::', header=None, names=['movie_id', 'title', 'genres'] ) ratings = pd.read_csv( 'ml-1m/ratings.dat', sep='::', header=None, names=['user_id', 'mo
はじめに Livesense Advent Calendar 2015(その2) 、13日目を担当します、ktmgです。 ふだんはSEOなどやっております。 さて、Advent Calendar 2015。 「なんかエンジニアさんたちが楽しそうなことやってるなー」とハタから眺めていたのが昨年。 今年は職種不問にしたからなんか書け、という @masahixixi さんの指令を受け、はじめて投稿させていただきました。 本記事では「非エンジニアでもできる簡単スクレイピング 」というテーマにからめて、 Google SpreadSheetの便利な関数:9 Chromeの便利な機能:1(Copy XPath) をご紹介します。 素材・完成形 http://qiita.com/advent-calendar/2014/livesense 昨年の Advent Calendar を素材に、投稿記事一覧の
「(ruby|javascript)でstr.join(array)、pythonでlist.join(str)」http://blog.livedoor.jp/dankogai/archives/51226075.html ここではlistを継承したListクラスをこさえて、そこにjoinメソッドを追加しているが、listに直にメソッド追加する方法はないのだろうか.... 多分できない。 PythonはPerl,Rubyに比べて、上の方は同じくらい柔らかいんだけど、下の方は堅い。 Unicodeのことまで考慮に入れて実装したために、実装がずいぶんと泥臭いものになっている。 join したいものが一種類ではないというのが、 join が list のメソッドでない理由の一つだからね。 str()はUnicodeを食うと例外をお吐きになる。それでいて"dankogai" + u"小飼弾"はu
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く