openpyxl 罫線を書く

あるセルにどのような罫線の設定がされているかを 下記のプログラムで確認できる。 「test.xlsx」の「A1」セルの罫線の設定を表示する import openpyxl wb = openpyxl.load_workbook('test.xlsx') ws = wb.active print(ws['A1'].border) 何も設定していない…

openpyxl セルに値を入れる

A1セルに1を入れる import openpyxl wb = openpyxl.Workbook() ws = wb.active ws['A1'] = 1 wb.save('test.xlsx') 2行1列(A2)セルに2を入れる import openpyxl wb = openpyxl.Workbook() ws = wb.active ws.cell(2, 1).value = 2 wb.save('test.xlsx') セル…

PythonのpandasのDataFrameの初期化 データは空でindexとcolumnsだけ設定する

import pandas as pd i = [1, 2, 3] c = ['name', 'address', 'phone'] df = pd.DataFrame(data=None, index=i, columns=c) print(df) 結果 name address phone 1 NaN NaN NaN 2 NaN NaN NaN 3 NaN NaN NaN

Pythonのgeopyで駅の緯度経度のリストから2つの駅の間の距離を求める

import pandas as pd import itertools from geopy.distance import geodesic import math def geocode_to_distance(geocode_list): distance_list = [] for data1, data2 in itertools.combinations(geocode_list, 2): name1, lat1, lng1 = data1 name2, la…

Pythonで小数を任意の位(小数第n位)で切り捨てる

import math #numを小数第digit位まで残して、第digit位より下を切り捨てる def truncate_to_n_decimal(num, digit): return math.floor(num * 10 ** digit) / (10 ** digit) >>> truncate_to_n_decimal(1.234, 1) 1.2 >>> truncate_to_n_decimal(1.234, 2) …

Pythonのopenpyxlを使ってExcelファイルを新規作成する

import openpyxl wb = openpyxl.Workbook() #ファイルの新規作成 wb.active.title = 'test' #シート名変更 wb.save('test.xlsx') #ファイルの保存

Pythonでテキストファイルを開いて改行を削除してカンマで区切る

address.txtの内容 名前と住所がカンマで区切られている 名前1,住所1 名前2,住所2 名前3,住所3f = open('address.txt') for line in f: # 行の末尾の改行を削除して、カンマで区切る name, address = line.rstrip('\n').split(',') print(name) print(…

Python sleep(一定時間プログラムの実行を停止する)

import time for i in range(3): print(i) time.sleep(1) #1秒停止

Wineの文字化けを直す方法

$ sudo apt install winetricks $ winetricks Select the default wineprefix を選択 Install a font を選択 cjkfonts を選択

Haskell入門 フィボナッチ数列を末尾再帰で速くする

参考ページ お気楽 Haskell プログラミング入門 -- fibo.hs -- 普通 fibo :: Integer -> Integer fibo n = if n == 0 || n == 1 then n else fibo (n - 1) + fibo (n - 2) -- 末尾再帰 fibo_tail :: Integer -> Integer fibo_tail n = fibo_sub n 0 1 where …

Haskell入門 1からnまでのp乗の和を求める

sum_of_power :: Integer -> Integer -> Integer sum_of_power n p = sum $ map (^p) [1..n] *Main> sum_of_power 10 1 55 *Main> sum_of_power 10 2 385 *Main> sum_of_power 100 2 338350 *Main> sum_of_power 100 3 25502500

Haskell入門(挿入ソート)

参考ページ お気楽 Haskell プログラミング入門挿入ソート 並べ替えられているリストに、 並べ替えられていない要素を適切な位置に挿入する操作を繰り返す。例 [2, 1, 4, 3]をソートする 右から畳み込む [] [3] [3, 4] [1, 3, 4] [1, 2, 3, 4] insert_elemen…

Haskell入門(標準モジュール)

Data.Listモジュール リストから重複する要素を取り除いた長さ import Data.List numUniques :: (Eq a) => [a] -> Int numUniques = length . nub*Main> numUniques [1,1,2,2,3,1] 3 *Main> nub [1,1,2,2,3,1] [1,2,3]Data.Listモジュールのインポート Prelu…

Haskellでコラッツ数列を生成する

collatz_chain :: Integer -> [Integer] collatz_chain 1 = [1] collatz_chain n | even n = n : collatz_chain (div n 2) | odd n = n : collatz_chain (n * 3 + 1)*Main> collatz_chain 1 [1] *Main> collatz_chain 2 [2,1] *Main> collatz_chain 3 [3,10,…

Haskell入門(高階関数)

関数と引数を受け取って、その引数に対して関数を2回実行する関数 (その引数に対して関数を実行した結果に、もう一度関数を実行する関数) applyTwice :: (a -> a) -> a -> a applyTwice f x = f (f x)*Main> applyTwice (+1) 2 4 *Main> applyTwice (1:) [2]…

Google翻訳で英語の勉強 小村寿太郎

小村寿太郎は宮崎県で生まれた。 Komura Jutaro was born in Miyazaki prefecture.彼はハーバード大学で学んだ。 He studied at Harvard University.その後、彼は外務省に入った。 After that, he entered the Ministry of Foreign Affairs.ロシアが不凍港を…

Haskell入門(再帰)

-- リストの最大の要素を返す -- リストの(先頭の要素)と(2番目以降の最大の要素)のうち、大きいものを返す maximum' :: (Ord a) => [a] -> a maximum' [] = error "empty list" maximum' [x] = x maximum' (x:xs) = max x (maximum' xs)-- xをn個繰り返すリ…

Haskell入門(関数の定義)

パターンマッチ factorial :: Int -> Int factorial 0 = 1 factorial n = n * factorial (n - 1)*Main> factorial 0 1 *Main> factorial 1 1 *Main> factorial 2 2 *Main> factorial 5 120firstLetter :: String -> String firstLetter "" = "empty" firstLe…

Haskell入門(リスト内包表記)

レンジ Prelude> [1..10] [1,2,3,4,5,6,7,8,9,10] Prelude> [1,3..10] [1,3,5,7,9] Prelude> [4,10..100] [4,10,16,22,28,34,40,46,52,58,64,70,76,82,88,94,100] Prelude> [10,9..1] [10,9,8,7,6,5,4,3,2,1] 3の倍数の最初の10個 Prelude> [3,6..3*10] [3,6…

Haskell入門(リスト)

リストの作成 Prelude> [1, 2, 3] [1,2,3] Prelude> 1 : 2 : 3 : [] [1,2,3]リストの連結 Prelude> [1, 2] ++ [3, 4] [1,2,3,4]リストの先頭に要素を追加 Prelude> 1 : [2, 3] [1,2,3]リストの末尾に要素を追加 Prelude> [1, 2] ++ [3] [1,2,3]リストのn番目…

Haskell入門

Haskellの処理系GHCのインストール(Debian系Linuxでの手順) $ sudo apt install ghcバージョン確認 $ ghc -v対話モード(GHCi)の起動 $ ghci対話モードの終了 Prelude> :q Leaving GHCi.以下、対話モードで実行します。 Prelude> 1 + 2 3 Prelude> 3 - 2 1 Pr…

戦前に起きた警察官と軍人のけんか(ゴーストップ事件)

ja.wikipedia.orgゴーストップ事件は、1933年(昭和8年)に大阪府大阪市北区の天六交叉点で起きた陸軍兵と巡査の喧嘩である。それが陸軍と警察の大規模な対立に発展した。「ゴーストップ」とは信号機のこと。満州事変後の大陸での戦争中に起こったこの事件は…

正しい判断とは何か

正しい判断とは何か。正しい情報と正しい論理を使って行われる判断のことか。何が正しい情報であるかをどのように判断するか。 その情報の発信者が信頼できるかどうかで判断するか。 情報の発信者が信頼できるかをどのように判断するか。自分で実験するか観…

自分で判断するとはどういうことか

自分で判断するとはどういうことか。他人の意見を信頼することは、自分で判断することなのか。信頼できる人を選び、その人の意見に従うことは、自分で判断することなのか。自分が作った人工知能の判断に従うことは、自分で判断することなのか。自分が作った…

Windows用の日本語を含むZIPファイルをLinuxで文字化けさせずに解凍する方法(unarを使う)

unarを使う $ sudo apt install unar $ unar file.zip

PythonのNumPyのndarrayで各列の合計と平均と各行の相関を計算する

$ cat data.csv 8,9,6,2,9,3,8,4,1,9 5,5,4,2,6,3,5,2,2,6 2,2,5,5,2,5,4,4,7,4import numpy as np data = np.loadtxt('data.csv', delimiter=',') print(data) print(type(data)) print('列の合計', np.sum(data, axis=0)) print('列の平均', np.mean(data,…

Project Euler Problem 36

Python 方法1 1から100万の数について、 10進数と2進数で回文数であるか調べる。偶数は2進数で1の位が0になり、回文数にならないので、 奇数だけ調べればよい。 def is_palindromic_base10(n): s = str(n) return s == s[::-1] def is_palindromic_base2(n):…

円周率の計算(円に内接する多角形と外接する多角形の周囲の長さを使う)

下記のページを参考にしました https://w3e.kanazawa-it.ac.jp/e-scimath/contents/t16/textbook_t16_all.pdf円に内接する正n角形の周の長さと、 円に外接する正n角形の周の長さとから、 円に内接する正2n角形の周の長さと、 円に外接する正2n角形の周の長さ…

円周率の計算(円に内接する多角形の周囲の長さを使う)

半径が1の円に内接する正1万角形の周囲の長さを使って求める。 それが2πに近くなるので、2で割る。Python import math #半径が1の円に内接する正n角形の1辺の長さを求める #頂角がth、等しい2辺の長さが1の二等辺三角形の底辺の長さを求める def length_of_b…

Project Euler Problem 33

該当する場合は、 分子の1の位の数と、分母の10の位の数が同じで、 それを除去する場合のみであるが、 なぜそうなのかは、分からない。Python from fractions import Fraction def is_digit_cancelling(nu, de): nu_10, nu_1 = divmod(nu, 10) de_10, de_1 =…