2021-01-01から1年間の記事一覧
背景 Project Euler でmath.factorial()を使う機会が多くなってきたので簡単にまとめる。 math.factorial とは math.factorial()は標準ライブラリの math に含まれていて、階乗が計算できるシンプルな関数になる。 引数には整数が指定でき、整数以外や負の数…
この問題をPythonで解いた。 #20 Factorial digit sum - Project Euler 日本語の問題文はこちら n × (n - 1) × ... × 3 × 2 × 1 を n! と表す. 例えば, 10! = 10 × 9 × ... × 3 × 2 × 1 = 3628800 となる. この数の各桁の合計は 3 + 6 + 2 + 8 + 8 + 0 + 0 =…
この問題をPythonで解いた。 #19 Counting Sundays - Project Euler 日本語の問題文はこちら 次の情報が与えられている. 1900年1月1日は月曜日である. 9月, 4月, 6月, 11月は30日まであり, 2月を除く他の月は31日まである. 2月は28日まであるが, うるう年の…
背景 .DS_Store のようなファイルを毎回.gitignoreに書くのがめんどくさくなり、グローバルに設定できないか調べました。 解決方法 ~/.config/gitにignoreファイルを作る .gitignoreと同様に記述する .DS_Store これだけで完了です。 Patterns which a user …
この問題をPythonで解いた。 #16 Power digit sum - Project Euler 日本語の問題文はこちら 215 = 32768 であり, 各位の数字の和は 3 + 2 + 7 + 6 + 8 = 26 となる. 同様にして, 21000 の各位の数字の和を求めよ. Problem 16 - PukiWiki sum(map(int, str(2*…
この問題をPythonで解いた。 #15 Lattice paths - Project Euler 日本語の問題文はこちら 2×2 のマス目の左上からスタートした場合, 引き返しなしで右下にいくルートは 6 つある. (画像省略) では, 20×20 のマス目ではいくつのルートがあるか. Problem 15 …
この問題をPythonで解いた。 #13 Large sum - Project Euler 日本語の問題文はこちら 以下の50桁の数字100個の合計の上から10桁を求めなさい。 (数字は省略) Problem 13 - PukiWiki sample = '''37107287533902102798797998220837590246510135740250 46376…
この問題をPythonで解いた。 #10 Summation of primes - Project Euler 日本語の問題文はこちら 10以下の素数の和は 2 + 3 + 5 + 7 = 17 である. 200万以下の全ての素数の和を求めよ. Problem 10 - PukiWiki from sympy import isprime result = 0 for num i…
この問題をPythonで解いた。 #9 Special Pythagorean triplet - Project Euler 日本語の問題文はこちら ピタゴラス数(ピタゴラスの定理を満たす自然数)とは a < b < c で以下の式を満たす数の組である. a2 + b2 = c2 例えば, 32 + 42 = 9 + 16 = 25 = 52 で…
itertoolモジュールのpermutations関数を使うと、簡単に順列を作ることができる。 permutationはなかなか見慣れない英単語だが、「順列、交換、置換、並べ換え」といった意味がある。パッと思い出せるぐらいには覚えておくと良さそう。 今回はpermutations関…
この問題をPythonで解いた。 #7 10001st prime - Project Euler 日本語の問題文はこちら 素数を小さい方から6つ並べると 2, 3, 5, 7, 11, 13 であり, 6番目の素数は 13 である. 10 001 番目の素数を求めよ. Problem 7 - PukiWiki import sympy print(sympy.p…
この問題をPythonで解いた。 #8 Largest product in a series - Project Euler 日本語の問題文はこちら 次の1000桁の数字のうち, 隣接する4つの数字の総乗の中で, 最大となる値は, 9 × 9 × 8 × 9 = 5832である. 7316717653133062491922511967442657474235534…
この問題をPythonで解いた。 #6 Sum square difference - Project Euler 日本語の問題文はこちら 最初の10個の自然数について, その二乗の和は, 12 + 22 + ... + 102 = 385 最初の10個の自然数について, その和の二乗は, (1 + 2 + ... + 10)2 = 3025 これら…
この問題をPythonで解いた。 #5 Smallest multiple - Project Euler 日本語の問題文はこちら 2520 は 1 から 10 の数字の全ての整数で割り切れる数字であり, そのような数字の中では最小の値である. では, 1 から 20 までの整数全てで割り切れる数字の中で最…
この問題をPythonで解いた。 #4 Largest palindrome product - Project Euler 日本語の問題文はこちら 左右どちらから読んでも同じ値になる数を回文数という. 2桁の数の積で表される回文数のうち, 最大のものは 9009 = 91 × 99 である. では, 3桁の数の積で…
この問題をPythonで解いた。 #3 Largest prime factor - Project Euler 日本語の問題文はこちら 13195 の素因数は 5, 7, 13, 29 である. 600851475143 の素因数のうち最大のものを求めよ. Problem 3 - PukiWiki N = 600851475143 i = 2 while i * i <= N: wh…
この問題をPythonで解いた。 #2 Even Fibonacci numbers - Project Euler 日本語の問題文はこちら フィボナッチ数列の項は前の2つの項の和である. 最初の2項を 1, 2 とすれば, 最初の10項は以下の通りである. 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, ... 数列の…
この問題をPythonで解いた。 #1 Multiples of 3 or 5 - Project Euler 日本語の問題文はこちら 10未満の自然数のうち, 3 もしくは 5 の倍数になっているものは 3, 5, 6, 9 の4つがあり, これらの合計は 23 になる. 同じようにして, 1000 未満の 3 か 5 の倍…
Azureを使ってデータ分析基盤を構築すると、Azure Data Lake Storage Gen2にデータを溜めていく事が多いです。 この日々溜まっていくデータから最新日付のファイルのみを取り出したいときに使えるテクニックです。 前提条件 前提条件として、XXX_yyyyMMdd.cs…
どこから削除ができるのか探してしまったのでメモ。 まずはReposの「Files」に、現在いるものとする。 左のReposメニューから「Branches」を選択する。 削除したいブランチの右に配置されている点から「Delete branch」を選択する。 確認画面が表示されるの…
Azure Data Factoryでは、パイプライン開発をバージョン管理するためにGit連携ができます。 GUIでの開発なのにバージョン管理できるのは、Data Factoryの実態がJSONファイルになっているからです。 Azure Data FactoryとAzure DevOpsなどを連携すると、デフ…
カーディナリティは、データベースのカラムに入っているデータの種類がどれぐらい存在しているかを表す。 もともとの英単語の訳としては濃度という訳が当てはまる。 例えば、genderカラムが存在していたとする。単純な話としたいので、このカラムに入ってく…
「さあ、才能(じぶん)に目覚めよう 新版 ストレングス・ファインダー2.0」を買って、実践してみた。 さあ、才能(じぶん)に目覚めよう 新版 ストレングス・ファインダー2.0作者:トム・ラス日本経済新聞出版社Amazon この本は自分の才能に気がつき、今後の人生…
Azure SQL Databaseでは監査ログをかんたんに取得することができる。文字通り監査のタイミングで必要になるので、基本的には取得しておいたほうがいいものになる。Azure SQL Databaseではデータベースのイベントを追跡し、Blobストレージに監査ログを書き込…
Apache Airflowで自作ファイルを作成しようとしたが、設定できる項目多く迷うことが多かった。そこでチュートリアルで用意されているものから最低限必要なものを抜き出してみた。 それが以下になる。 from datetime import timedelta from airflow import DA…
Airbnb 社が開発し、今は Apache ソフトウェア財団のトッププロジェクトとなっている Apache Airflow。 今回は業務の中でワークフロー製品を扱っていることもあり、OSS の Airflow の感触を確かめるべく触ってみた。 準備 Airflow の公式ページでインストー…
Pandas のGroupBy.first を使うと、グループの中で一番最初の値を取得できる。 pandas.pydata.org 以前SQLの分析関数であるFIRST_VALUEとの動きを確認した。Pandasでどのように実現していくのか見ていくものになる。 yoshitaku-jp.hatenablog.com 実行環境 …
Pandas のshift を使うと、現在の行の値と前後の行の値を比較できる。 pandas.pydata.org 以前SQLの分析関数であるLAGとLEADの動きを確認したが、Pandasではどのように実現していくのか見ていくものになる。LAG関数とLEAD関数も比較して見てもらえると! yos…
SQL の分析関数である RANK と DENSE_RANK を使うと、順序が付けられた値のセットの中で何番目の値かを返すことができる。 今回は RANK と DENSE_RANK を使って、動きを確認していく。 RANK (Transact-SQL) - SQL Server | Microsoft Docs DENSE_RANK (Trans…
SQL の分析関数である FIRST_VALUE と LAST_VALUE を使うと、順序が付けられた値のセットの中で最初の値と最後の値を返すことができる。 今回は FIRST_VALUE を使って、動きを確認していく。 FIRST_VALUE は最初の値、LAST_VALUE は最後の値という違いだけで…