はじめに AWS AthenaはPresto SQLに準拠しているため数々の時刻関数を使用することができます。 今回は私がよく使うものを紹介していきたいと思います。 参照元 タイムゾーンの設定
![AWS Athenaでのタイムスタンプの扱い方 まとめ - Qiita](https://cdn-ak-scissors.b.st-hatena.com/image/square/74d2db06b7ab2ff1e7ae3a49aa6b64234b812902/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-412672c5f0600ab9a64263b751f1bc81.png%3Fixlib%3Drb-4.0.0%26w%3D1200%26mark64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9QVdTJTIwQXRoZW5hJUUzJTgxJUE3JUUzJTgxJUFFJUUzJTgyJUJGJUUzJTgyJUE0JUUzJTgzJUEwJUUzJTgyJUI5JUUzJTgyJUJGJUUzJTgzJUIzJUUzJTgzJTk3JUUzJTgxJUFFJUU2JTg5JUIxJUUzJTgxJTg0JUU2JTk2JUI5JTIwJUUzJTgxJUJFJUUzJTgxJUE4JUUzJTgyJTgxJnR4dC1jb2xvcj0lMjMyMTIxMjEmdHh0LWZvbnQ9SGlyYWdpbm8lMjBTYW5zJTIwVzYmdHh0LXNpemU9NTYmdHh0LWFsaWduPWxlZnQlMkN0b3Amcz04NzczMGNjYTU3ZWMyNWRjMDFlZGMxMzY5MjZmYmQ3ZQ%26mark-x%3D142%26mark-y%3D57%26blend64%3DaHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB5b3NoaXlhbWFfaGFuYSZ0eHQtY29sb3I9JTIzMjEyMTIxJnR4dC1mb250PUhpcmFnaW5vJTIwU2FucyUyMFc2JnR4dC1zaXplPTM2JnR4dC1hbGlnbj1sZWZ0JTJDdG9wJnM9OTI1NGVjYTA2MDY0N2NhNzc3MjQxZTczZGNhZjM4YTg%26blend-x%3D142%26blend-y%3D486%26blend-mode%3Dnormal%26s%3Db7b0b1035ecd00b3bb8329d5e1a49e1c)
概要 Python で日時/タイムスタンプ関連の操作をする場合は dateutil や arrow を使っている人が多いと思うが、 pandas でもそういった処理がわかりやすく書けるよ、という話。 pandas の本領は多次元データの蓄積/変形/集約処理にあるが、日時操作に関連した強力なメソッド / ユーティリティもいくつか持っている。今回は それらを使って日時操作を簡単に行う方法を書いてく。ということで DataFrame も Series もでてこない pandas 記事のはじまり。 ※ ここでいう "日時/タイムスタンプ関連の操作" は文字列パース、日時加算/減算、タイムゾーン設定、条件に合致する日時のリスト生成などを想定。時系列補間/リサンプリングなんかはまた膨大になるので別途。 インストール 以下サンプルには 0.15での追加機能も含まれるため、0.15 以降が必要。 pip
pandas.to_datetime# pandas.to_datetime(arg, errors='raise', dayfirst=False, yearfirst=False, utc=False, format=None, exact=_NoDefault.no_default, unit=None, infer_datetime_format=_NoDefault.no_default, origin='unix', cache=True)[source]# Convert argument to datetime. This function converts a scalar, array-like, Series or DataFrame/dict-like to a pandas datetime object. Parameters: argint, float, s
TIMESTAMP型はサポートされている範囲が狭いため注意が必要です。 DATETIME型は月や日付に 00 を許容するため、こちらも注意が必要です。 登録される値の違い 以下のような値を指定したとき、データベースにはどのような値が登録されるのか検証しました。 値を指定しない 空文字を指定する NULLを指定する 0を指定する 月や日付に 00 を指定する(2016-00-00 00:00:00) 数字以外の文字を含む値を指定する(aaaa-aa-aa aa:aa:aa) DATETIME型のとき DATETIME型のカラムを持つテーブルを作成します。
概要 元データがtsv, csvなものをpythonを利用してparquetに変換して、spectrumで利用するためにやったこと timestampなカラム周りでかなり苦労したのでせっかくなので書く 結果的にかなり単純にできるんだけど、あまりやり方とかなかったのでせっかくだし書いた 一行でまとめると fastparquetのwrite関数でtimesオプションにint96をつけろ! いろいろ tsvをparquetに変換すること自体はかなり容易で、fastparquetやpyarrowを利用することで数行で実現できます。 blog.amedama.jp などのように単純にできます。このとき、parquetのschemaはpandasのdataframeをもとに設定されていきます。 文字列や数字のカラムだったら基本的にそのまま変換して、そのまま外部テーブルとして読み込ませることが可能なので
pandas 集計処理について ■集約処理について DataFrameからgroupby関数を呼び出し、引数に集約単位を設定し さらに集約関数を呼び出すことで可能。 データ数を算出する集約関数は、size関数。ユニークカウントする関数は nunique関数。 同じ集約単位に対する複数の処理を行う場合には、agg関数を利用することで 同時に集約処理が可能。 import numpy as np import pandas as pd index ID 日 時 セッション 閲覧時間 0 328667572 31 16 38 5 1 70373573 24 23 37 7 2 1839656582 12 20 28 6 4 1471882803 10 22 22 7 5 302325623 20 8 22 2 ↓閲覧時間をユニークカウントにして、IDをカウント↓ sample.groupby("
1 Active Recordクエリインターフェイスとは? 生のSQLを使ってデータベースのレコードを検索することに慣れた人がRailsに出会うと、Railsでは同じ操作をずっと洗練された方法で実現できることに気付くでしょう。Active Recordを使うことで、SQLを直に実行する必要はほぼなくなります。 Active Recordは、ユーザーに代わってデータベースにクエリを発行します。発行されるクエリは多くのデータベースシステム(MySQL、MariaDB、PostgreSQL、SQLiteなど)と互換性があります。Active Recordを使えば、利用しているデータベースシステムの種類にかかわらず同じ記法を使えます。 本ガイドのコード例では以下のモデルを使います。 class Book < ApplicationRecord belongs_to :supplier belong
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く