日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > python >内容正文

python

python数据分析pandas_Python数据分析之 pandas汇总和计算描述统计

發(fā)布時間:2025/3/21 python 20 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python数据分析pandas_Python数据分析之 pandas汇总和计算描述统计 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1. 聚合計算

pandas對象擁有一組常用的數(shù)學(xué)和統(tǒng)計方法。它們大部分都屬于約簡和匯總

統(tǒng)計,用于從Series中提取單個值(如sum或mean)或從DataFrame的行或

列中提取一個Series。跟對應(yīng)的NumPy數(shù)組方法相比,它們都是基于沒有缺 失數(shù)據(jù)的假設(shè)而構(gòu)建的。看一個簡單的DataFrame:

df = pd.DataFrame([[1.4, np.nan], [7.1, -4.5],

[np.nan, np.nan], [0.75, -1.3]],

index=['a', 'b', 'c', 'd'],

columns=['one', 'two'])

df

調(diào)用DataFrame的sum方法將會返回一個含有列的和的Series:

df.sum() #默認(rèn)axis=0/'index'

傳入axis='columns'或axis=1將會按行進(jìn)行求和運算:

df.sum(axis='columns') #axis=1

NA值會自動被排除,除非整個切片(這里指的是行或列)都是NA。通過skipna選項可以禁用該功能:

print(df)

print("-----")

print(df.mean(axis='columns', skipna=False)) #axis=1

print("-----")

print(df.mean(axis='columns')) #axis=1 自動跳過na

下表列出了這些約簡方法的常用選項:

有些方法(如idxmin和idxmax)返回的是間接統(tǒng)計(比如達(dá)到最小值或最大 值的索引):

print(df)

print("-------")

df.idxmax() #axis=0

另一些方法則是累計型的:

print(df)

print("-------")

df.cumsum() #axis=0

還有一種方法,它既不是約簡型也不是累計型。describe就是一個例子,它 用于一次性產(chǎn)生多個匯總統(tǒng)計:

df.describe() #默認(rèn)忽略空值

對于非數(shù)值型數(shù)據(jù),describe會產(chǎn)生另外一種匯總統(tǒng)計:

obj = pd.Series(['a', 'a', 'b', 'c'] * 4)

obj.describe()

下表列出了所有與描述統(tǒng)計相關(guān)的方法。

2. 相關(guān)系數(shù)與協(xié)方差

有些匯總統(tǒng)計(如相關(guān)系數(shù)和協(xié)方差)是通過參數(shù)對計算出來的。我們來看

幾個DataFrame,它們的數(shù)據(jù)來自Yahoo!Finance的股票價格和成交量,使

用的是pandas-datareader包(可以用conda或pip安裝):

pip install pandas-datareader

我使用pandas_datareader模塊下載了一些股票數(shù)據(jù):

import pandas_datareader.data as web

all_data = {ticker: web.get_data_yahoo(ticker) for ticker in ['AAPL',

'IBM', 'MSFT', 'GOOG']}

price = pd.DataFrame({ticker: data['Adj Close'] for ticker, data in

all_data.items()})

volume = pd.DataFrame({ticker: data['Volume'] for ticker, data in

all_data.items()})

print(price.head())

print(volume.head())

現(xiàn)在計算價格的百分?jǐn)?shù)變化,時間序列的操作后續(xù)會介紹:

returns = price.pct_change()

returns.tail()

Series的corr方法用于計算兩個Series中重疊的、非NA的、按索引對齊的值 的相關(guān)系數(shù)。與此類似,cov用于計算協(xié)方差:

print(returns['MSFT'].corr(returns['IBM']))

print(returns['MSFT'].cov(returns['IBM']))

因為MSTF是一個合理的Python屬性,我們還可以用更簡潔的語法選擇列:

returns.MSFT.corr(returns.IBM)

另一方面,DataFrame的corr和cov方法將以DataFrame的形式分別返回完整 的相關(guān)系數(shù)或協(xié)方差矩陣:

print(returns.corr())

print("-----------")

print(returns.cov())

利用DataFrame的corrwith方法,你可以計算其列或行跟另一個Series或DataFrame之間的相關(guān)系數(shù)。傳入一個Series將會返回一個相關(guān)系數(shù)值Series(針對各列進(jìn)行計算)

returns.corrwith(returns.IBM)

無錫婦科檢查醫(yī)院 http://www.87554006.com/

傳入一個DataFrame則會計算按列名配對的相關(guān)系數(shù)。這里,我計算百分比 變化與成交量的相關(guān)系數(shù):

print(returns.head())

print(volume.head())

returns.corrwith(volume) #按列配對

傳入axis='columns'/1即可按行進(jìn)行計算。無論如何,在計算相關(guān)系數(shù)之前,所 有的數(shù)據(jù)項都會按標(biāo)簽對齊。

3. 唯一值、值計數(shù)以及成員資格

還有一類方法可以從一維Series的值中抽取信息。看下面的例子:

obj = pd.Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])

obj

第一個函數(shù)是unique,它可以得到Series中的唯一值數(shù)組:

uniques = obj.unique()

uniques

返回的唯一值是未排序的,如果需要的話,可以對結(jié)果再次進(jìn)行排序

(uniques.sort())。相似的,value_counts用于計算一個Series中各值出現(xiàn) 的頻率:

obj.value_counts()

為了便于查看,結(jié)果Series是按值頻率降序排列的。value_counts還是一個 頂級pandas方法,可用于任何數(shù)組或序列:

pd.value_counts(obj.values, sort=False)

isin用于判斷矢量化集合的成員資格,可用于過濾Series中或DataFrame列中 數(shù)據(jù)的子集:

print(obj)

print("-----------")

mask = obj.isin(['b', 'c'])

print(mask)

print("-----------")

obj[mask]

與isin類似的是Index.get_indexer方法,它可以給你一個索引數(shù)組,從可能包 含重復(fù)值的數(shù)組到另一個不同值的數(shù)組:

to_match = pd.Series(['c', 'a', 'b', 'b', 'c', 'a'])

unique_vals = pd.Series(['c', 'b', 'a'])

pd.Index(unique_vals).get_indexer(to_match)

下表給出了這幾個方法的一些參考信息:

有時,你可能希望得到DataFrame中多個相關(guān)列的一張柱狀圖。例如:

data = pd.DataFrame({'Qu1': [1, 3, 4, 3, 4],

'Qu2': [2, 3, 1, 2, 3],

'Qu3': [1, 5, 2, 4, 4]})

data

將pandas.value_counts傳給該DataFrame的apply函數(shù),就會出現(xiàn):

result = data.apply(pd.value_counts).fillna(0)

result

這里,結(jié)果中的行標(biāo)簽是所有列的唯一值。后面的頻率值是每個列中這些值的相應(yīng)計數(shù)。

總結(jié)

以上是生活随笔為你收集整理的python数据分析pandas_Python数据分析之 pandas汇总和计算描述统计的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 色综合九九 | 久久99国产精品视频 | 国产美女自拍 | 在线看福利影 | 男男一级淫片免费播放 | 中文字幕在线播放第一页 | 亚洲欧美大片 | 欧美午夜精品久久久久久蜜 | 少妇淫片 | 亚洲成人免费网站 | 91影视在线观看 | 男女午夜爽爽爽 | 久久久久久福利 | 波多野结衣视频一区 | 国产aⅴ爽av久久久久成人 | 色婷五月 | 国产在线最新 | 日韩区一区二 | 色咪咪网站| 欧美xxxxx精品 | 国内性视频 | 中文字幕免费高清网站 | 男女无套免费视频网站动漫 | 男受被做哭激烈娇喘gv视频 | 久久久www成人免费毛片 | 亚洲精品视频免费在线观看 | 国产成人在线一区 | 成人性生活视频 | 亚欧美一区二区三区 | 337p粉嫩日本欧洲亚洲大胆 | 国产黄色三级网站 | 青青草老司机 | 国产女人高潮的av毛片 | 肥臀浪妇太爽了快点再快点 | 日本免费毛片 | 精品久久久亚洲 | 天天操夜夜操 | 日韩精品久久久久久久电影99爱 | 亚洲一级无毛 | 大地资源二中文在线影视免费观看 | 丰满人妻一区二区三区53视频 | 国产精品免费电影 | 无码精品黑人一区二区三区 | 538任你躁在线精品免费 | 杨幂毛片午夜性生毛片 | 亚洲视频网址 | 国产高清精品在线 | 国产91在线播放九色 | 国产精品麻豆一区二区 | 欧美三级精品 | 强行无套内谢大学生初次 | 日韩精品一区二区在线看 | 免费黄色在线网站 | 国产素人自拍 | 婷婷六月综合网 | 亚洲好视频 | 91久久国产精品 | 女人扒开屁股让男人桶 | 成人免费观看av | 亚洲啪av永久无码精品放毛片 | 韩国三级hd中文字幕叫床浴室 | 欧美日韩在线a | 国产在线视频自拍 | av色播| 亚洲国产成人av | 色图自拍 | 日韩在线观看一区二区 | 亚洲色图首页 | 国产美女引诱水电工 | 日韩jizz| 中文字幕av在线免费观看 | 伊人网大香 | 大尺度做爰无遮挡露器官 | av免费入口 | 中文字幕永久在线 | 可以免费看的黄色网址 | 影音先锋在线视频 | 亚洲另类视频 | 加勒比一区二区三区 | 欧美日韩精品一二三区 | 欧美成人三级视频 | www.亚洲综合 | 欧美男女性生活视频 | 免费人成视频在线 | 在线免费观看高清视频 | 一本一道人人妻人人妻αv 九一在线视频 | 精品久久久久久久久久久国产字幕 | 玉势 (1v1 高h)| www.四虎精品 | 懂色av一区二区三区免费观看 | 天天天天躁天天爱天天碰2018 | 18被视频免费观看视频 | 四虎国产在线观看 | 欧美日韩一二三区 | 毛片在线观看视频 | 人妻在卧室被老板疯狂进入 | 午夜精品一区二区三区在线视频 | 原创少妇半推半就88av | 欧美三级免费看 |