pandas笔记(7)DataFrame数学运算
生活随笔
收集整理的這篇文章主要介紹了
pandas笔记(7)DataFrame数学运算
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
算數運算
- 任意一列加、減、乘、除一個值
創建一個 DataFrame
import numpy as np import pandas as pd df = pd.DataFrame(np.arange(16).reshape((4,4)),index = list('abcd'),columns=['A','B','C','D'])# 返回A B C D a 0 1 2 3 b 4 5 6 7 c 8 9 10 11 d 12 13 14 15加法運算:
# A 列每個值加 5 df['A'] = df['A'] + 5 df# 返回A B C D a 5 1 2 3 b 9 5 6 7 c 13 9 10 11 d 17 13 14 15減法運算:
# A 列每個值減 5 df['A'] = df['A'] - 5 df# 返回A B C D a -5 1 2 3 b -1 5 6 7 c 3 9 10 11 d 7 13 14 15乘法運算:
# A 列每個值乘 5 df['A'] = df['A'] * 5 df# 返回A B C D a 0 1 2 3 b 20 5 6 7 c 40 9 10 11 d 60 13 14 15除法運算:
# A 列每個值除 5 df['A'] = df['A'] / 5 df# 返回A B C D a 0.0 1 2 3 b 0.8 5 6 7 c 1.6 9 10 11 d 2.4 13 14 15- 任意一列加、減、乘、除一個列
兩DataFrame相加、減、乘、除
兩個DataFrame進行四則運算,需具有相同的行,列索引名。如果索引名不相同,則返回NAN。
'''分別創建一個4*4和3*3的df和df1。由于df1中沒有D列,d行,所以df+df1時,這兩列值為NAN''' df = pd.DataFrame(np.arange(16).reshape((4,4)),index = list('abcd'),columns=['A','B','C','D']) df1= pd.DataFrame(np.arange(9).reshape((3,3)),index = list('abc'),columns=['A','B','C']) df+df1# 返回A B C D a 0.0 2.0 4.0 NaN b 7.0 9.0 11.0 NaN c 14.0 16.0 18.0 NaN d NaN NaN NaN NaN當使用add()函數時,可以使用fill_value方法填充單個df中的缺失數據,但當兩個df中都為NAN的數據,該方法不會填充。
'''使用add方法,并為缺失值填充為0''' df.add(df1,fill_value=0)# 返回A B C D a 0.0 2.0 4.0 3.0 b 7.0 9.0 11.0 7.0 c 14.0 16.0 18.0 11.0 d 12.0 13.0 14.0 15.0- 運算符與pandas操作函數
| + | add() | 加法 |
| - | sub() | 減法 |
| * | mul() | 乘法 |
| / | div() | 除法 |
| // | floordiv() | 取整 |
| ** | pow() | 乘方 |
| % | mod() | 取余 |
聚合函數
pandas中常用聚合函數如:max(),min(),mean(),sum(),count(),value_counts(),等
以sun()和count()為例:
'''對df中的行求和''' df.sum(axis=1)# 返回 a 6 b 22 c 38 d 54 dtype: int64'''對df中的列計數''' df.count(axis=0)# 返回 A 4 B 4 C 4 D 4 dtype: int64總結
以上是生活随笔為你收集整理的pandas笔记(7)DataFrame数学运算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 0816大疆笔试B卷
- 下一篇: [地质学笔记]粒度概率累积曲线