#### 算術(shù)運(yùn)算
1. 一個(gè)數(shù)和DataFrame運(yùn)算、numpy運(yùn)算 都應(yīng)用了廣播機(jī)制 如:df+1,df中每個(gè)元素都加了1
2. DataFrame對(duì)象與ndarray對(duì)象進(jìn)行運(yùn)算,應(yīng)用了廣播機(jī)制 如: df+arr
3. Series和DataFrame運(yùn)算,Series 按照Series的index進(jìn)行運(yùn)算,所以Series的index的值要與DataFrame的columns的值一致,如果沒(méi)有對(duì)齊則補(bǔ)齊NaN,不是廣播。
4. DataFrame之間可以運(yùn)算,行列索引同時(shí)對(duì)齊,如果有任何一個(gè)對(duì)不齊則使用NaN填充。
代碼演示:
**一個(gè)數(shù)和DataFrame運(yùn)算**
```python
df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7], [8, 9, 10,11]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col2','col3'])
df+1
```
**DataFrame對(duì)象與ndarray對(duì)象運(yùn)算**
```python
df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7], [8, 9, 10,11]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col2','col3'])
nd = np.ones(3,dtype=np.int32).reshape(-1,1)
df+nd
```
**Series和DataFrame運(yùn)算**
```python
s = pd.Series(data=[20,30,40,50],index=['col0', 'col1', 'col2','col4'])
df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7], [8, 9, 10,11]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col2','col3'])
df+s
```
**DataFrame之間運(yùn)算**
```
df = pd.DataFrame([[1, 2, 3,4], [4, 5, 6,7], [8, 9, 10,11]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col2','col3'])
df1 = pd.DataFrame([[1,1,1], [2,2,2], [3,3,3]], index=['row0', 'row1','row2'], columns=['col0', 'col1', 'col4'])
df+df1
```
上面僅僅是演示了加法的操作,當(dāng)然也可以減法操作哦!
如果喜歡文章請(qǐng)點(diǎn)贊哦!
![比心](./比心.png)
更多關(guān)于Python 培訓(xùn)的問(wèn)題,歡迎咨詢(xún)千鋒教育在線名師,如果想要了解我們的師資、課程、項(xiàng)目實(shí)操的話可以點(diǎn)擊咨詢(xún)課程顧問(wèn),獲取試聽(tīng)資格來(lái)試聽(tīng)我們的課程,在線零距離接觸千鋒教育大咖名師,讓你輕松從入門(mén)到精通。