欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

pandas DataFrame運(yùn)算的實(shí)現(xiàn)

 更新時間:2020年06月14日 11:35:58   作者:「已注銷」  
這篇文章主要介紹了pandas DataFrame運(yùn)算的實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

1 算術(shù)運(yùn)算

add(other)

比如進(jìn)行數(shù)學(xué)運(yùn)算加上具體的一個數(shù)字

data['open'].add(1)

2018-02-27 24.53
2018-02-26 23.80
2018-02-23 23.88
2018-02-22 23.25
2018-02-14 22.49

sub(other)

2 邏輯運(yùn)算

2.1 邏輯運(yùn)算符號

例如篩選data[“open”] > 23的日期數(shù)據(jù)

data[“open”] > 23返回邏輯結(jié)果

data["open"] > 23

2018-02-27  True
2018-02-26 False
2018-02-23 False
2018-02-22 False
2018-02-14 False

# 邏輯判斷的結(jié)果可以作為篩選的依據(jù)
data[data["open"] > 23].head()


完成多個邏輯判斷,

data[(data["open"] > 23) & (data["open"] < 24)].head()

2.2 邏輯運(yùn)算函數(shù)

query(expr)

expr:查詢字符串

通過query使得剛才的過程更加方便簡單

# 以字符串形式
data.query("open<24 & open>23").head()

isin(values)
例如判斷'open'是否為23.53和23.85

# 可以指定值進(jìn)行一個判斷,從而進(jìn)行篩選操作
data[data["open"].isin([23.53, 23.85])]

3 統(tǒng)計運(yùn)算

3.1 describe

綜合分析: 能夠直接得出很多統(tǒng)計結(jié)果,count, mean, std, min, max 等

# 計算平均值、標(biāo)準(zhǔn)差、最大值、最小值
data.describe()

3.2 統(tǒng)計函數(shù)

Numpy當(dāng)中已經(jīng)詳細(xì)介紹,在這里我們演示min(最小值), max(最大值), mean(平均值), median(中位數(shù)), var(方差), std(標(biāo)準(zhǔn)差),mode(眾數(shù))結(jié)果:


對于單個函數(shù)去進(jìn)行統(tǒng)計的時候,坐標(biāo)軸還是按照默認(rèn)列“columns” (axis=0, default),如果要對行“index” 需要指定(axis=1)

max()、min()

# 使用統(tǒng)計函數(shù):0 代表列求結(jié)果, 1 代表行求統(tǒng)計結(jié)果
data.max(0)

open     34.99
high     36.35
close     35.21
low     34.01
volume    501915.41
price_change   3.03
p_change    10.03
turnover    12.56
my_price_change   3.41
dtype: float64

std()、var()

# 方差
data.var(0)

open    1.545255e+01
high    1.662665e+01
close    1.554572e+01
low    1.437902e+01
volume    5.458124e+09
price_change  8.072595e-01
p_change   1.664394e+01
turnover   4.323800e+00
my_price_change 6.409037e-01
dtype: float64

# 標(biāo)準(zhǔn)差
data.std(0)

open     3.930973
high     4.077578
close     3.942806
low     3.791968
volume    73879.119354
price_change   0.898476
p_change    4.079698
turnover    2.079375
my_price_change  0.800565
dtype: float64

median():中位數(shù)

中位數(shù)為將數(shù)據(jù)從小到大排列,在最中間的那個數(shù)為中位數(shù)。如果沒有中間數(shù),取中間兩個數(shù)的平均值。

df = pd.DataFrame({'COL1' : [2,3,4,5,4,2],
     'COL2' : [0,1,2,3,4,2]})

df.median()

COL1 3.5
COL2 2.0
dtype: float64

idxmax()、idxmin()

# 求出最大值的位置
data.idxmax(axis=0)

open    2015-06-15
high    2015-06-10
close    2015-06-12
low    2015-06-12
volume    2017-10-26
price_change  2015-06-09
p_change   2015-08-28
turnover   2017-10-26
my_price_change 2015-07-10
dtype: object


# 求出最小值的位置
data.idxmin(axis=0)

open    2015-03-02
high    2015-03-02
close    2015-09-02
low    2015-03-02
volume    2016-07-06
price_change  2015-06-15
p_change   2015-09-01
turnover   2016-07-06
my_price_change 2015-06-15
dtype: object

3.3 累計統(tǒng)計函數(shù)


那么這些累計統(tǒng)計函數(shù)怎么用?


以上這些函數(shù)可以對series和dataframe操作

這里我們按照時間的從前往后來進(jìn)行累計

排序

# 排序之后,進(jìn)行累計求和
data = data.sort_index()

對p_change進(jìn)行求和

stock_rise = data['p_change']
# plot方法集成了前面直方圖、條形圖、餅圖、折線圖
stock_rise.cumsum()

2015-03-02  2.62
2015-03-03  4.06
2015-03-04  5.63
2015-03-05  7.65
2015-03-06  16.16
2015-03-09  16.37
2015-03-10  18.75
2015-03-11  16.36
2015-03-12  15.03
2015-03-13  17.58
2015-03-16  20.34
2015-03-17  22.42
2015-03-18  23.28
2015-03-19  23.74
2015-03-20  23.48
2015-03-23  23.74

那么如何讓這個連續(xù)求和的結(jié)果更好的顯示呢?


如果要使用plot函數(shù),需要導(dǎo)入matplotlib.

import matplotlib.pyplot as plt
# plot顯示圖形
stock_rise.cumsum().plot()
# 需要調(diào)用show,才能顯示出結(jié)果
plt.show()

關(guān)于plot,稍后會介紹API的選擇

4 自定義運(yùn)算

apply(func, axis=0)

  • func:自定義函數(shù)
  • axis=0:默認(rèn)是列,axis=1為行進(jìn)行運(yùn)算

定義一個對列,最大值-最小值的函數(shù)

data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)

open  22.74
close 22.85
dtype: float64

到此這篇關(guān)于pandas DataFrame運(yùn)算的實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)pandas DataFrame運(yùn)算內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解Python中打亂列表順序random.shuffle()的使用方法

    詳解Python中打亂列表順序random.shuffle()的使用方法

    這篇文章主要介紹了詳解Python中打亂列表順序random.shuffle()的使用方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11
  • Python常見的幾種數(shù)據(jù)加密方式

    Python常見的幾種數(shù)據(jù)加密方式

    這篇文章主要分享的是Python常見的幾種數(shù)據(jù)加密方式,主要包括線性散列算法(簽名算法)MD5,sha1、對稱性加密算法?AES?DES、非對稱性加密算法?RSA,具體詳細(xì)內(nèi)容介紹,需要的小伙伴可以參考一下
    2022-06-06
  • python使用matplotlib的savefig保存時圖片保存不完整的問題

    python使用matplotlib的savefig保存時圖片保存不完整的問題

    這篇文章主要介紹了python使用matplotlib的savefig保存時圖片保存不完整的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • python爬蟲反爬之圖片驗(yàn)證功能實(shí)現(xiàn)

    python爬蟲反爬之圖片驗(yàn)證功能實(shí)現(xiàn)

    這篇文章主要介紹了python爬蟲反爬之圖片驗(yàn)證功能實(shí)現(xiàn),本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友參考下吧
    2024-03-03
  • Pycharm Terminal 與Project interpreter 安裝包不同步問題解決

    Pycharm Terminal 與Project interpreter 安裝

    本文主要介紹了Pycharm Terminal 與Project interpreter 安裝包不同步問題解決,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2023-02-02
  • Python部署web開發(fā)程序的幾種方法

    Python部署web開發(fā)程序的幾種方法

    本篇文章主要介紹了Python部署web開發(fā)程序的幾種方法,具有很好的參考價值。下面跟著小編一起來看下吧
    2017-05-05
  • python里對list中的整數(shù)求平均并排序

    python里對list中的整數(shù)求平均并排序

    本文主要記述了使用Python將list重點(diǎn)整數(shù)求平均值之后在進(jìn)行排列的過程,并把代碼分享給大家,希望大家能給鼓鼓掌~~~
    2014-09-09
  • python 如何設(shè)置守護(hù)進(jìn)程

    python 如何設(shè)置守護(hù)進(jìn)程

    這篇文章主要介紹了python 如何設(shè)置守護(hù)進(jìn)程,幫助大家更好的理解和使用python,感興趣的朋友可以了解下
    2020-10-10
  • Django-imagekit的使用詳解

    Django-imagekit的使用詳解

    ImageKit是一個用于處理圖像的Django應(yīng)用程序。這篇文章主要介紹了Django-imagekit的使用,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • Python離線安裝PIL 模塊的方法

    Python離線安裝PIL 模塊的方法

    今天小編就為大家分享一篇Python離線安裝PIL 模塊的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01

最新評論