def mojicount(s):
return len(s)
mojicount("hello")
5
def mojicount2(s):
print(len(s))
mojicount2("hello")
5
mojisuu = mojicount("hello")
mojisuu
5
mojisuu = mojicount2("hello")
5
mojisuu # 何も返らない
input_str = "hello, kumano!"
mojicount(input_str)
14
print(input_str, "の文字数は、", mojicount(input_str), "です。")
hello, kumano! の文字数は、 14 です。
input_str = "hello, kumano!"
mojicount2(input_str)
14
print(input_str, "の文字数は、", mojicount2(input_str), "です。")
14 hello, kumano! の文字数は、 None です。
a="abcdef"
len(a)
6
a[0]
'a'
a[4]
'e'
a[5]
'f'
mylist=[1,2,3,4,5]
len(mylist)
5
a="abcdef"
for u in a:
print(u)
a b c d e f
mylist=[1,2,3,4,5]
for p in mylist:
print(p)
1 2 3 4 5
# 型の確認
type(mylist)
list
type(a)
str
import numpy as np
mylist=[1,2,3,4,5]
np.array(mylist)
array([1, 2, 3, 4, 5])
type(np.array(mylist))
numpy.ndarray
b = np.array(mylist)
b
array([1, 2, 3, 4, 5])
mylist
[1, 2, 3, 4, 5]
sum(mylist)
15
b.sum() #和
15
b.mean() #平均
3.0
b.sum()/len(b)
3.0
b.max() # 最大値
5
b.min() # 最小値
1
b.var() # 分散
2.0
b.std() # 標準偏差
1.4142135623730951
b.var(ddof=0) # 標本の分散
2.0
b.var(ddof=1) # 母集団の分散(不偏分散)
2.5
# data
x=[10,20,30,40,50,60,70,80,90,100]
# x = np.array(x)としてもいいが、しなくても計算可
# メジアン(50%点)
q50 = np.percentile(x,50)
print(q50)
55.0
# 第1四分位数(25%点)
q25 = np.percentile(x,25)
print(q25)
32.5
# 第3四分位数(75%点)
q75 = np.percentile(x,75)
print(q75)
77.5
# 四分位範囲
iqr = q75 - q25
print("四分位範囲:",iqr)
四分位範囲: 45.0
# 一括計算
q25, q50, q75 = np.percentile(x,[25,50,75])
print(q25, q50, q75)
32.5 55.0 77.5
[10,20,30,40,50]*2
[10, 20, 30, 40, 50, 10, 20, 30, 40, 50]
np.array([10,20,30,40,50])*2
array([ 20, 40, 60, 80, 100])
np.array([10,20,30,40,50])**2
array([ 100, 400, 900, 1600, 2500], dtype=int32)
np.array([10,20,30,40,50])+100
array([110, 120, 130, 140, 150])
testdata = np.array([10,20,30,40,50])
testdata
array([10, 20, 30, 40, 50])
#2乗の平均
(testdata**2).mean()
1100.0
# 平均の2乗
testdata.mean()**2
900.0
# 分散
(testdata**2).mean() - testdata.mean()**2
200.0
# 直接計算
testdata.var()
200.0
# 乱数
from numpy.random import randint
original = randint(1, 7, 100)
original
array([1, 2, 5, 1, 2, 5, 5, 5, 5, 5, 2, 4, 6, 5, 2, 3, 3, 3, 6, 2, 3, 5, 5, 1, 3, 5, 1, 4, 2, 3, 2, 2, 1, 3, 5, 4, 4, 2, 6, 3, 6, 5, 2, 3, 5, 3, 6, 1, 3, 5, 4, 2, 5, 2, 2, 1, 6, 2, 4, 6, 5, 4, 1, 5, 6, 1, 2, 3, 1, 4, 1, 2, 1, 6, 2, 4, 5, 5, 2, 1, 4, 4, 2, 4, 2, 4, 4, 6, 4, 2, 4, 2, 5, 2, 3, 5, 2, 5, 5, 2])
len(original)
100
original.mean()
3.41
original.sum()
341
original.std()
1.6068291757371098
def dice(times):
dice = randint(1,7,times)
return dice
dice(4)
array([6, 6, 6, 3])
dice(100)
array([5, 4, 3, 6, 4, 3, 2, 4, 5, 1, 1, 2, 3, 2, 1, 2, 1, 5, 5, 3, 6, 5, 4, 5, 4, 6, 3, 1, 3, 6, 4, 3, 2, 1, 1, 6, 4, 2, 6, 2, 4, 2, 5, 1, 2, 1, 2, 1, 3, 3, 3, 6, 2, 2, 3, 2, 1, 2, 5, 4, 6, 2, 3, 5, 6, 5, 5, 5, 2, 5, 5, 3, 6, 4, 5, 6, 5, 6, 2, 5, 1, 3, 3, 3, 1, 2, 2, 4, 4, 3, 5, 6, 4, 4, 2, 4, 6, 5, 5, 6])
for u in [10, 50, 100]:
print(u, '回サイコロを振る')
10 回サイコロを振る 50 回サイコロを振る 100 回サイコロを振る
for u in [10, 50, 100, 100000]:
print(u, '回サイコロを振る')
dice_list = dice(u)
print(dice_list, '\n')
print("平均値",dice_list.mean())
10 回サイコロを振る [3 1 6 4 4 3 5 2 3 5] 平均値 3.6 50 回サイコロを振る [4 4 6 5 1 2 1 2 1 4 2 3 2 1 4 6 5 5 4 6 4 4 5 4 3 4 6 3 5 1 3 6 3 1 4 3 2 1 4 1 5 3 1 4 4 2 1 4 4 6] 平均値 3.38 100 回サイコロを振る [3 5 3 3 5 4 4 1 4 4 1 3 6 6 1 6 4 2 5 2 5 2 4 2 1 3 5 4 2 3 6 5 6 2 3 2 6 4 3 5 5 2 3 1 2 5 5 2 6 3 4 4 1 3 3 2 4 2 6 3 5 5 1 1 6 5 4 2 5 3 4 2 1 5 1 3 4 1 5 6 5 3 5 1 3 6 2 2 2 1 2 1 4 5 2 3 2 2 4 1] 平均値 3.36 100000 回サイコロを振る [4 3 1 ... 4 6 5] 平均値 3.49888
for u in [10, 50, 100, 100000]:
print(u, '回サイコロを振る')
print(dice(u), '\n')
print("平均値",dice(u).mean())
10 回サイコロを振る [5 5 4 1 5 6 4 5 5 3] 平均値 3.5 50 回サイコロを振る [3 5 5 6 2 6 1 1 2 6 4 3 2 3 5 2 5 5 5 3 4 6 5 2 3 5 2 5 1 6 4 6 5 2 2 2 3 4 1 1 4 3 4 5 1 3 4 6 5 3] 平均値 3.16 100 回サイコロを振る [3 6 1 6 1 3 6 3 4 3 5 2 2 5 1 6 6 4 4 1 6 3 6 1 4 1 5 1 2 5 6 3 3 1 4 1 3 6 5 4 5 4 6 4 6 4 6 1 3 5 3 2 1 4 2 5 3 6 1 2 1 3 3 6 6 4 1 5 5 4 6 3 2 1 6 5 6 3 3 2 1 3 4 6 1 4 2 5 3 6 4 4 2 5 2 3 3 4 5 6] 平均値 3.42 100000 回サイコロを振る [4 5 1 ... 4 1 6] 平均値 3.50375
weight=[43.6,45.2,45.4,45.8,47.2,47.8,48.2,48.7,48.8,48.9,49.,49.,49.4,49.5,
49.8,50.4,50.5,50.9,50.9,51.2,51.2,51.2,51.3,51.3,51.6,51.7,51.7,51.8,
52.,52.,52.1,52.1,52.1,52.2,52.3,52.7,52.7,52.8,52.9,52.9,53.1,53.1,
53.8,54.,54.5,54.5,54.6,54.7,54.7,54.7,54.8,54.9,55.1,55.1,55.2,55.3,
55.4,55.4,55.4,55.6,55.7,55.8,55.9,56.1,56.3,56.3,56.3,56.4,56.5,56.7,
56.8,57.,57.1,57.1,57.2,57.3,57.6,57.7,57.8,58.1,58.4,58.6,58.7,58.7,
58.7,58.7,59.1,59.3,59.9,60.,60.1,60.3,60.5,60.6,60.6,60.7,61.3,62.7,
64.2,64.6]
print(weight)
[43.6, 45.2, 45.4, 45.8, 47.2, 47.8, 48.2, 48.7, 48.8, 48.9, 49.0, 49.0, 49.4, 49.5, 49.8, 50.4, 50.5, 50.9, 50.9, 51.2, 51.2, 51.2, 51.3, 51.3, 51.6, 51.7, 51.7, 51.8, 52.0, 52.0, 52.1, 52.1, 52.1, 52.2, 52.3, 52.7, 52.7, 52.8, 52.9, 52.9, 53.1, 53.1, 53.8, 54.0, 54.5, 54.5, 54.6, 54.7, 54.7, 54.7, 54.8, 54.9, 55.1, 55.1, 55.2, 55.3, 55.4, 55.4, 55.4, 55.6, 55.7, 55.8, 55.9, 56.1, 56.3, 56.3, 56.3, 56.4, 56.5, 56.7, 56.8, 57.0, 57.1, 57.1, 57.2, 57.3, 57.6, 57.7, 57.8, 58.1, 58.4, 58.6, 58.7, 58.7, 58.7, 58.7, 59.1, 59.3, 59.9, 60.0, 60.1, 60.3, 60.5, 60.6, 60.6, 60.7, 61.3, 62.7, 64.2, 64.6]
weight=np.array(weight)
weight
array([43.6, 45.2, 45.4, 45.8, 47.2, 47.8, 48.2, 48.7, 48.8, 48.9, 49. , 49. , 49.4, 49.5, 49.8, 50.4, 50.5, 50.9, 50.9, 51.2, 51.2, 51.2, 51.3, 51.3, 51.6, 51.7, 51.7, 51.8, 52. , 52. , 52.1, 52.1, 52.1, 52.2, 52.3, 52.7, 52.7, 52.8, 52.9, 52.9, 53.1, 53.1, 53.8, 54. , 54.5, 54.5, 54.6, 54.7, 54.7, 54.7, 54.8, 54.9, 55.1, 55.1, 55.2, 55.3, 55.4, 55.4, 55.4, 55.6, 55.7, 55.8, 55.9, 56.1, 56.3, 56.3, 56.3, 56.4, 56.5, 56.7, 56.8, 57. , 57.1, 57.1, 57.2, 57.3, 57.6, 57.7, 57.8, 58.1, 58.4, 58.6, 58.7, 58.7, 58.7, 58.7, 59.1, 59.3, 59.9, 60. , 60.1, 60.3, 60.5, 60.6, 60.6, 60.7, 61.3, 62.7, 64.2, 64.6])
weight.mean()
54.461000000000006
weight.std()
4.223905657090366
# median
np.percentile(weight, 50)
54.75