Startup Data scientist Blog

データ分析系のテック情報を発信します

python

Pythonコードで電話番号から携帯会社や国の情報を表示するサンプルコード

phonenumbersをインストールします pip install phonenumbers 電話番号から国の情報を出力するコード get_contry.py import phonenumbers from phonenumbers import geocoder phone_number = phonenumbers.parse("Number with contry code") #Japan is +81XX…

エラー発生: numpy.ndarray size changed, may indicate binary incompatibility. expected 96 from c header, got 80 from pyobject

下記のエラーが発生。 numpy.ndarray size changed, may indicate binary incompatibility. expected 96 from c header, got 80 from pyobject 環境 Windows 10Anaconda 解決策 installされているnumpyのバージョンが古いことにより発生したエラーでした。 n…

スクリプトを実行したOSを表示するサンプルコード

pythonライブラリsysで実行したOSを表示する import sys print(sys.platform) >>> win32

pythonで奇数か偶数かを判定する関数を作ってみる

数値を受け取り、その数値が偶数であればTrue、奇数であればFalseを返すis_even関数を作ってみた。 def is_even(): number = input('数字を指定してください:') if int(number) % 2 == 0: print('True') else: print('False') return data = is_even() print…

pythonを使ったバブルソートアルゴリズムの実装

バブルソートとは ソートアルゴリズムの中の一つのアルゴリズム。バブルソートは、隣り合う要素の大小を比較しながら整列させるソートアルゴリズム。 アルゴリズムが単純で実装も容易である一方、最悪時間計算量は O(n2) と遅いため、一般にはマージソートや…

python For ループを使って最大値、最小値、合計値、平均値を求めていく

Forループを使用して最大値と最小値、合計値と平均値を出力するアルゴリズムを作る。 List = [180, 170, 160, 165, 175] まず、最大値と最小値、そして合計値の変数をループ前に定義し、ループを回すたびにその値を更新していく。 list = [180, 170, 160, 16…

pythonで使う絶対値を求めるabs関数

絶対値はある数値(マイナスを含む)の0からの距離であり、大きさを表現する。 pythonではabs関数を使用することで絶対値を求めることが出来る。 abs(5) >>> 5 abs(-19) >>> 19 a = abs(-1) print(a) >>> 1 ABS関数はExcelでも用意されている関数の一つであり…

pythonを使用した頭文字の取得

pythonを使用してテキストの頭文字を取得するプログラムを説明します。 user_input = str(input("入力して下さい:")) text = user_input.split() a = "" for i in text: a = a+str(i[0]).upper() print(a) >>> 入力して下さい: Hello world >>> HW 文を分割…

pythonを使った数字とアルファベットを組み合わせた関数定義(def)

def print_alpha_nums(abc_list, num_list): for i in abc_list: for j in num_list: print(i, j) print_alpha_nums(["a","b","c"], [1,2,3]) >>> a 1a 2a 3b 1b 2b 3c 1c 2c 3 #python

pythonを使ったFizzBuzz問題の攻略

コーディング面接でよくある質問であるFizzBuzz問題のプログラムを作成する ・1-100までの数字を出力するプログラムを書きなさい。 ただし、3の倍数の時は数字の代わりに'Fizz'と出力し、 5の倍数の時には数字の代わりに'Buzz'と出力する。 3と5の倍数の時に…

pythonを使ったらサイコロProgram

ランダム関数を使ってサイコロを表現する from random import randint def main(): counter = 0 #サイコロを10回転がす while counter < 10: number = randint(1, 6) print("{0}回目のサイコロの目は{1}".format(counter+1, number)) counter += 1 if __name…

pythonでログを出力する

ログレベル ・DEBUG: logging.debug() 詳細情報、問題解析用 ・INFO: logging.info() 各種イベント情報 ・WARNING: logging.warning() 問題の報告 ・ERROR: logging.error() プログラムの何かしらの動作が失敗 ・CRITICAL: logging.critical() プログラム実…

PythonでIPアドレスを取得するコード

import socket #ローカルipアドレス ip = socket.gethostbyname(socket.gethostname()) print(ip) #グローバルipアドレス ip = socket.gethostbyname("www.enat.org") print(ip) >> XXXX XXXX Pingコマンド ping IPアドレス(123.111.1123のようなもの)で速度…

Python で可変個引数を使用する

Python では、任意の数の引数やキーワード引数を、各引数を宣言することなく使用できます。 この機能は、関数で不明な数の入力を受け取る可能性がある場合に役立ちます。 可変個引数 可変個引数を使用するにはアスタリスク(*)を使用します。 def variable_le…

数値演算ライブラリfloorとceilを使った小数点の切り捨てと切り上げ

数値演算ライブラリ Python には、より高度な演算と計算を行うためのライブラリが用意されています。 最も一般的なものの 1 つは math ライブラリです。 math では floor や ceil による端数処理や、円周率の算出など、様々な演算が可能です。 このライブラ…

python3で仮想環境を構築し日付を表示させる

仮想環境を作成する 開始する前に、仮想環境を作成し、環境に入ります。 そうすることで、コンピューターの他の部分から隔離できます。 ライブラリをインストールするときにコンピューターの他の部分に影響を与えないように、環境を隔離する必要があります。…

pythonを使ったデータのビジュアル化 numpy

numpyとはpythonの拡張モジュールで、数値計算や図示化などを可能にしてくれます。 NumPyサンプルコード import numpy as np import matplotlib.pyplot as plt height = [5, 10, 20, 30, 35] bars = ['A', 'B', 'C', 'D', 'E'] y_pos = np.arange(len(bars))…

pythonで自身のip adressを取得するコード

IPアドレスを確認するpythonコード import socket hostname = socket.gethostname() IPAddr = socket.gethostbyname(hostname) print(IPAddr) >> 自身のip adressが表示される。

pythonの独学をするならこちらの本がオススメ

「独学プログラマー Python言語の基本から仕事のやり方まで」 著者はコーリー・アルソフ(Cory Althoff)。彼自身が独学でプログラミング技術を身につけています。米クレムソン大学で政治学を専攻後、シリコンバレーに住みながら独学でプログラミングを身に…

Pythonを使ったMemoizeとは

Memoize とはキャッシュを用いて関数呼び出しを高速化する手法 ・関数が同じ引数で何度も呼び出される・関数呼び出し 1 回あたりのコストが高い (実行時間が長い) 等で使用すると効率的に関数を呼び出すことが出来る。 MemoTable = {} def MemoizedFib(n): i…

Pythonによるフィボナッチ数列

arr = [1, 1] print(arr[0]) while True: print(arr[-1]) tmp = sum(arr) arr.append(tmp) del arr[0] Output >> 1、1、2、3、5、8、13、21、34、55、89、144、233、377…

python 再帰呼出し n*fact(n-1)

pythonの再帰呼出しにより階乗 n! の計算が可能になります。 factorialコード def fact(n): if (n <= 1): return 1 else: return n * fact(n - 1) print(fact(5)) Output >> 120

python inputを使った簡単なコード

python inputを使った文字列の入力 prefix = "Hello " n1 = input("Enter your name ") n2 = input("Enter your another name ") res = prefix + n1 + " and " + n2 print(res) Output >> Enter your name mikeEnter your another name tarouHello mike and …

python for elseのループコード

Pythonではwhile, forのループにelseを使用することが出来ます。他の言語と比較すると珍しい機能で、ありがちなケースでは「ループ処理で何かを探索して見つけたらbreakする、breakしなかったら見つからなかった」といったケースでフラグ変数を使う必要がな…

pythonの挿入ソート(insertion sort)

シンプルで直感的なソートアルゴリズム def InsertionSort(A): for j in range(1, len(A)): key = A[j] i = j - 1 while (i >= 0) and (A[i] > key): i = i - 1 A[i+1] = key input = [8, 3, 9, 15, 29, 7, 10] InsertionSort(input) print(input) Output >>…

Pythonで簡単な形態素解析

tokenize python input = 'John, Doe, 1983, 4, 29, male' tokens = input.split(',') firstName = tokens[0] lastName = tokens[1] birthdate = (int(tokens[2]), int(tokens[3]), int(tokens[4])) isMale = (tokens[5] == 'male') print('Hi ' + firstName…

python forとifを使ったフィルター処理

python forとifを使った簡単なフィルター処理 input = [("Mary", 27), ("Joe", 30), ("Ruth", 43), ("Boe", 17),("Jenny", 22)] youngPeople = [] for (person, age) in input: if age < 30: youngPeople.append(person) else: print(person + 'is too old!'…

python stringsとnumberの基本的なコード

数字型 #number age = 99 pi = 3.14 print(age) print(pi) Output >> 993.14 文字列 #strings s = 'Rutherford Birchard Hayas' tokens = s.split() firstName = tokens[0] middleName = tokens[1] lastName = tokens[2] s2 = firstName + " " + middleName …

pythonサンプルコード append

pythonサンプルコード append listに要素を追加する。 x = [1, 2, 3] y = [4, 5, 6] z = y y = x x = z x = [1, 2, 3] y = x x.append(4) y.append(5) z = [1, 2, 3, 4, 5, 6] x.append(6) y.append(7) y = "hello" def foo(lst): lst.append("hello") bar(l…

pythonサンプルコード def

pythonサンプルコード def happy(): print("Happy Birthday to you!!!") def sing(P): happy() happy() print("Happy Birthday dear" + P + "!") happy() sing("Fred") Output >> Happy Birthday to you!!!Happy Birthday to you!!!Happy Birthday dearFred!…