python備忘録 超基礎

#import不要な構文の書き方
```
# listの生成
list = [0,1,2]
print(list)
```
>[0, 1, 2]

```
#listの追加

list2 = [[0,1,2]]
list2.append([3,4,5])
list2
```
>[[0, 1, 2], [3, 4, 5]]

```
#list

len([0,1,2])
```
>3

```
#list

[0,1,2].count(0)
```
>1

```
#辞書 {key:value}の形式で作成
#メソッドgetに指定するとvalueを返す

{"宮迫" : "謹慎", "田村" : "復帰"}.get("宮迫")
```
>'謹慎'

```
#list スライスでの指定
#[:3]で0から3番目の手前まで指定

[0, 1, 2, 3, 4, 5][:3]
```
> [0,1,2]

```
#UDF関数の作り方

def printHello():
    return print("Hello, world!!")
 
printHello()
```
>'Hello, world!!'

```
#if文での条件分岐

x = 10
if x <= 20:
    print("xは20以下です。")
 
if x <= 30:
    print("xは30以下です。")
 
elif x >=40:
    print("xは40以上です。") #この文は表示されない
```
>'xは20以下です。'
>'xは30以下です。'

```
#for文

x = 0
for i in range(100):
    x += i
```
>4950

#numpy
moduleのimport

```
# numpyモジュールのインポート
import numpy as np
```
```
example1 = np.array([2, 4, 6, 8, 10])
example1
```
>array([ 2,  4,  6,  8, 10])

```
#print("{}".format()) はコメント付けれるので中身を確認しやすい

print("example1:\n{}".format(example1))
```
>example1:
[ 2  4  6  8 10]

```
# ネストされたリストを渡した場合

example2 = np.array([[1, 2, 3, 4, 5], [2, 4, 6, 8, 10]])
example2
```
>array(
[[ 1,  2,  3,  4,  5],
 [ 2,  4,  6,  8, 10]])

```
# example2の次元と形
# shapeはlistには使えないので注意！ndarrayに入れよう

print(example2.ndim, example2.shape)
```
>2 (2, 5)

```
# 行列置換

example2.transpose()
```
>array(
[[ 1,  2],
 [ 2,  4],
 [ 3,  6],
 [ 4,  8],
 [ 5, 10]])

```
# ndarray → list変換

np.array([1,2,3,4,5][2,3,4,5,6]).tolist()
```
#pandas
moduleのimport

```
# pandasモジュールのインポート
import pandas as pd
```

```
data = pd.DataFrame({"area" : [18, 19, 20], "age" : [5, 4, 10]}, index = ["A", "B", "C"])
data
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/f25823f3-7cef-3645-3685-f312e18397da.png)

```
# データフレームの先頭n行のみ参照する。
data.head(1)
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/2970aedf-1cd5-2d9b-76d8-d698b1d40870.png)

```
# データフレームからvaluesのnumpy配列 / 列名のnumpy配列を取得する。
data.values, data.columns
```
>(array([
[ 5, 18],
[ 4, 19],
[10, 20]]),
Index(['age', 'area'], dtype='object'))

```
#要約統計量
data.describe()
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/6a91faa5-9bc5-965f-9a3f-01e80b6e7392.png)

```
#相関係数
data.corr()
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/4210cc93-0401-6384-0fcb-3bcd15e56ee2.png)

```
# 列の削除
data = data.drop("time", axis = 1)
data
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/6e5a5cc4-00a4-221d-9907-3576a92f4dcf.png)

```
# 列選択
data[["age","area"]]
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/81ca63ff-7b3c-a84e-6c36-dcc7274ef4ec.png)

```
# 条件指定
data[(data["age"]<=5) & (data["area"]==18)]
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/c3bef454-c4a4-cda1-9d67-e8a742965831.png)

```
# ndarray→dataframe

A = np.array([[1,2],[2,3],[3,4]])
 
# cloumns命名
B = pd.DataFrame(A,columns={"NO_1","NO_2"})
  
# cloumns名変更
B.rename(columns={"NO_1":"no1","NO_2":"no2"})
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/d4abef36-b65d-5d6f-9c30-601e9671e7bf.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/4ffdad3a-be8e-8cb1-4b8d-51c38f8d1601.png)

```
# 集計
B.groupby("NO_1",as_index=False).sum()
```
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/595818/85c5899a-48a7-7d63-1446-030efa1f0ed1.png)