Pandas统计分析基础
来源:互联网 发布:qq三国陆逊打技能数据 编辑:程序博客网 时间:2024/05/22 02:28
Pandas统计分析
pandas数据的基本统计分析
和numpy的函数近似
import pandas as pddates = pd.date_range('20130101',periods=10)dates
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04', '2013-01-05', '2013-01-06', '2013-01-07', '2013-01-08', '2013-01-09', '2013-01-10'], dtype='datetime64[ns]', freq='D')
import numpy as npdf = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])df
df.describe() # 快速统计结果
df.mean() # 按列求平均值
A -0.546045B 0.235211C 0.628182D 0.566583dtype: float64
df.mean(1) # 按行求平均值
2013-01-01 0.2138402013-01-02 0.7772592013-01-03 0.2366142013-01-04 -0.2262932013-01-05 0.5182712013-01-06 -0.0875632013-01-07 0.0465752013-01-08 0.4500722013-01-09 0.1884142013-01-10 0.092638Freq: D, dtype: float64
基本统计分析函数
- .describe() 针对0轴(列)的统计汇总,计数/平均值/标准差/最小值/四分位数/最大值
- .sum() 计算数据的总和,按0轴计算(各行计算),下同,要按列计算参数1
- .count() 非NaN值数量
- .mean() .median() .mode() 计算数据的算数平均值/算数中位数/众数
- .var() .std() 计算数据的方差/标准差
- .min() .max() 计算数据的最小值/最大值
只适用于series:
- .argmin(),.argmax() 计算数据最大值/最小值所在位置的索引位置(自动索引,用她是因为很容易切片等操作)
- .idxmin(),.idxmax() 计算数据最大值/最小值所在位置的索引(自定义索引)
a = pd.Series([9,8,7,6],index=['a','b','c','d'])a
a 9b 8c 7d 6dtype: int64
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])b
a.describe()
count 4.000000mean 7.500000std 1.290994min 6.00000025% 6.75000050% 7.50000075% 8.250000max 9.000000dtype: float64
type(a.describe()) # series对象
pandas.core.series.Series
a.describe()['count']
4.0
b.describe() #默认0轴运算
type(b.describe()) #dataframe对象
pandas.core.frame.DataFrame
# 返回横行数据,seriesb.describe().loc['max']
0 15.01 16.02 17.03 18.04 19.0Name: max, dtype: float64
b.describe().iloc[7]
0 15.01 16.02 17.03 18.04 19.0Name: max, dtype: float64
# 返回一列值,这里第2列b.describe()[2]
count 4.000000mean 9.500000std 6.454972min 2.00000025% 5.75000050% 9.50000075% 13.250000max 17.000000Name: 2, dtype: float64
b.describe().loc[:,2]
count 4.000000mean 9.500000std 6.454972min 2.00000025% 5.75000050% 9.50000075% 13.250000max 17.000000Name: 2, dtype: float64
数据的累计统计分析
- 对序列的前1-n个数累计运算
- 可减少for循环的使用
累计统计分析函数,适用于series和dataframe类型
- .cumsum() 依次给出前1/2/…/n个数的和
- .cumprod() 依次给出前1/2/…/n个数的积
- .cummax() 依次给出前1/2/…/n个数的最大值
- .cummin() 依次给出前1/2/…/n个数的最小值
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])b
b.cumsum() # 列的累加和
b.cumprod() # 列的累加积
滚动计算(窗口计算)函数
适用series/dataframe
- .rolling(w).sum() 依次计算相邻w个元素的和
- .rolling(w).mean() 依次计算相邻w个元素的算数平均值
- .rolling(w).var() 依次计算相邻w个元素的方差
- .rolling(w).std() 依次计算相邻w个元素的标准差
- .rolling(w).min .max() 依次计算相邻w个元素的最小值/最大值
b.rolling(2).sum() # 纵向列,以两个元素为单位,做求和运算
b.rolling(3).sum()
阅读全文
0 0
- Pandas统计分析基础
- Python数据分析之pandas统计分析
- Pandas与Matplotlib在统计分析中的应用
- pandas 基础
- pandas基础
- pandas 基础
- Pandas基础
- Pandas基础
- pandas基础
- pandas基础
- pandas 基础
- pandas基础
- pandas 基础
- pandas基础
- 流量统计分析基础
- 多元统计分析基础
- Machine Learning基础(统计分析)
- 统计分析基础-描述数据
- oracle函数的一些简单例子
- UVA
- context component scan spring
- java 输入/输出流(I/O流)
- 有N个孩子站在一条线上。 每个孩子都被分配一个评分值。你给这些孩子,每个孩子必须至少有一个糖果具有较高评级的儿童比邻居获得更多的糖果。 你必须给予的最低
- Pandas统计分析基础
- NP[阶乘取余]
- NP
- svg字体图标
- codeforces The Eternal Immortality 题解
- NSOperation
- 最严风暴之后,比特币等虚拟货币活得怎么样?
- 大陆出现首例iPhone 8电池爆裂事件;小米被指责盗用视频素材丨价值早报
- 人生苦短,就不洗碗 | 钛空舱