# Python 學習筆記
### 運算相關函數
```python
#呼叫math使用運算函數
from math import floor, ceil, sqrt, log...... #此方法可直接使用函數
import math #此方法要在函數前面加上"math."才可使用
floor() #無條件捨去
ceil() #無條件進位
sqrt()
log()
log(x,a)
pi #圓周率
e #自然數
sin()
cos()
tan()
asin()
#print
#sep為每個向量後加的符號,end為最後一個服ㄏㄠ
print(.....,sep='',end='')
```
### If ...else
```python
#example
if x < 0:
print(-x)
else:
print(x)
#if...else if ....
if .... :
elif .... :
else:
#布林值
#在python中,flase為0或空值,true為1或文字
bool(n)
```
### For loop
```python
#ex
i=1
for a in 'apple','banana','cat':
print('#',i,"name is",a)
i=i+1
#可以拆解字串
for character in 'hello':
print(character)
>h
>e
>l
>l
>o
#可指定範圍
#range(min_value, max_value,step) step表等差級距
#range(5) 則是表示0-4
#str("") 可拆解字串
for i in range(5, 8): #但i只包含5-7
print(i, i ** 2)
print('end of loop')
i += 1 #表示i=i+1
```
### Strings
```python
len(a) #計算字串長度
#若要擷取字串某個字元
s='hello'
print(s[0])
>h
#尋找字元位置
string_name.find()
#尋找字元最後一次出現位置
string_name.rfind()
s.find(substring, left, right)
#取代字串
s.replace(old,new)
#計算某字串出現次數
s.count(substring)
```
### While loop
```python
#example
i=1
while i <= 5:
print(i)
i += 1
```
### Dataframe
```python=
#匯入pandas套件來建立data frame
import pandas as pd
#定義新增欄位和輸入資料,以及資料名稱
cars = {'gender': ['F','M','M','F'],
'id': [1,2,3,4]
}
#定義data frame
df = pd.DataFrame(cars, columns = ['gender', 'id'])
print(df)
#pandas df的if condiction
df.loc[df['gender'] == "M", 'sex'] = 1
df.loc[df['gender'] == "F", 'sex'] = 2
print(df)
```
### range相關函數
#### range()
生成從start(包含)到stop(不包含),等差以step的序列。
只能使用整數。
```python=
range(start,stop,step)
```
#### np.arange()
可使用整數或小數點。
```python=
np.arange([start,]stop[,step])
```