糖尿病康复,内容丰富有趣,生活中的好帮手!
糖尿病康复 > Padas中DataFrame运算

Padas中DataFrame运算

时间:2019-05-28 04:58:54

相关推荐

Padas中DataFrame运算

Padas中DataFrame运算

1 算术运算

add(other)

比如进行数学运算加上具体的一个数字

data['open'].add(1)-02-27 24.53-02-26 23.80-02-23 23.88-02-22 23.25-02-14 22.49

sub(other)'

2 逻辑运算

2.1 逻辑运算符号

例如筛选data["open"] > 23的日期数据 data["open"] > 23返回逻辑结果

data["open"] > 23-02-27True-02-26 False-02-23 False-02-22 False-02-14 False

# 逻辑判断的结果可以作为筛选的依据data[data["open"] > 23].head()

完成多个逻辑判断,

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

2.2 逻辑运算函数

query(expr) expr:查询字符串

通过query使得刚才的过程更加方便简单

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

isin(values)

例如判断'open'是否为23.53和23.85

# 可以指定值进行一个判断,从而进行筛选操作data[data["open"].isin([23.53, 23.85])]

3 统计运算

3.1 describe

综合分析: 能够直接得出很多统计结果,count,mean,std,min,max

# 计算平均值、标准差、最大值、最小值data.describe()

3.2 统计函数

Numpy当中已经详细介绍,在这里我们演示min(最小值), max(最大值), mean(平均值), median(中位数), var(方差), std(标准差),mode(众数)结果:

对于单个函数去进行统计的时候,坐标轴还是按照默认列“columns” (axis=0, default),如果要对行“index” 需要指定(axis=1)

max()、min()

# 使用统计函数:0 代表列求结果, 1 代表行求统计结果data.max(0)open 34.99high 36.35close 35.21low34.01volume 501915.41price_change 3.03p_change10.03turnover12.56my_price_change 3.41dtype: float64

std()、var()

# 方差data.var(0)open1.545255e+01high1.662665e+01close 1.554572e+01low1.437902e+01volume 5.458124e+09price_change 8.072595e-01p_change 1.664394e+01turnover 4.323800e+00my_price_change 6.409037e-01dtype: float64# 标准差data.std(0)open 3.930973high 4.077578close 3.942806low3.791968volume 73879.119354price_change 0.898476p_change4.079698turnover2.079375my_price_change 0.800565dtype: float64

median():中位数

中位数为将数据从小到大排列,在最中间的那个数为中位数。如果没有中间数,取中间两个数的平均值。

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

idxmax()、idxmin()

# 求出最大值的位置data.idxmax(axis=0)open-06-15high-06-10close -06-12low-06-12volume -10-26price_change -06-09p_change -08-28turnover -10-26my_price_change -07-10dtype: object# 求出最小值的位置data.idxmin(axis=0)open-03-02high-03-02close -09-02low-03-02volume -07-06price_change -06-15p_change -09-01turnover -07-06my_price_change -06-15dtype: object

3.3 累计统计函数

那么这些累计统计函数怎么用?

以上这些函数可以对series和dataframe操作

这里按照时间的从前往后来进行累计

排序

# 排序之后,进行累计求和data = data.sort_index()

对p_change进行求和

stock_rise = data['p_change']# plot方法集成了前面直方图、条形图、饼图、折线图stock_rise.cumsum()-03-022.62-03-034.06-03-045.63-03-057.65-03-0616.16-03-0916.37-03-1018.75-03-1116.36-03-1215.03-03-1317.58-03-1620.34-03-1722.42-03-1823.28-03-1923.74-03-.48-03-2323.74

那么如何让这个连续求和的结果更好的显示呢?

如果要使用plot函数,需要导入matplotlib.

import matplotlib.pyplot as plt# plot显示图形stock_rise.cumsum().plot()# 需要调用show,才能显示出结果plt.show()

4 自定义运算

apply(func, axis=0) func:自定义函数axis=0:默认是列,axis=1为行进行运算定义一个对列,最大值-最小值的函数

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

5 小结

算术运算逻辑运算 1.逻辑运算符号2.逻辑运算函数 对象.query()对象.isin()统计运算 1.对象.describe()2.统计函数3.累积统计函数自定义运算 apply(func, axis=0)

如果觉得《Padas中DataFrame运算》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。