时间:2021-05-23
add(other)
比如进行数学运算加上具体的一个数字
data['open'].add(1)2018-02-27 24.532018-02-26 23.802018-02-23 23.882018-02-22 23.252018-02-14 22.49sub(other)
2.1 逻辑运算符号
例如筛选data[“open”] > 23的日期数据
data[“open”] > 23返回逻辑结果
data["open"] > 232018-02-27 True2018-02-26 False2018-02-23 False2018-02-22 False2018-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
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.21low 34.01volume 501915.41price_change 3.03p_change 10.03turnover 12.56my_price_change 3.41dtype: float64std()、var()
# 方差data.var(0)open 1.545255e+01high 1.662665e+01close 1.554572e+01low 1.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.942806low 3.791968volume 73879.119354price_change 0.898476p_change 4.079698turnover 2.079375my_price_change 0.800565dtype: float64median():中位数
中位数为将数据从小到大排列,在最中间的那个数为中位数。如果没有中间数,取中间两个数的平均值。
df = pd.DataFrame({'COL1' : [2,3,4,5,4,2], 'COL2' : [0,1,2,3,4,2]})df.median()COL1 3.5COL2 2.0dtype: float64idxmax()、idxmin()
# 求出最大值的位置data.idxmax(axis=0)open 2015-06-15high 2015-06-10close 2015-06-12low 2015-06-12volume 2017-10-26price_change 2015-06-09p_change 2015-08-28turnover 2017-10-26my_price_change 2015-07-10dtype: object# 求出最小值的位置data.idxmin(axis=0)open 2015-03-02high 2015-03-02close 2015-09-02low 2015-03-02volume 2016-07-06price_change 2015-06-15p_change 2015-09-01turnover 2016-07-06my_price_change 2015-06-15dtype: object3.3 累计统计函数
那么这些累计统计函数怎么用?
以上这些函数可以对series和dataframe操作
这里我们按照时间的从前往后来进行累计
排序
# 排序之后,进行累计求和data = data.sort_index()对p_change进行求和
stock_rise = data['p_change']# plot方法集成了前面直方图、条形图、饼图、折线图stock_rise.cumsum()2015-03-02 2.622015-03-03 4.062015-03-04 5.632015-03-05 7.652015-03-06 16.162015-03-09 16.372015-03-10 18.752015-03-11 16.362015-03-12 15.032015-03-13 17.582015-03-16 20.342015-03-17 22.422015-03-18 23.282015-03-19 23.742015-03-20 23.482015-03-23 23.74那么如何让这个连续求和的结果更好的显示呢?
如果要使用plot函数,需要导入matplotlib.
import matplotlib.pyplot as plt# plot显示图形stock_rise.cumsum().plot()# 需要调用show,才能显示出结果plt.show()关于plot,稍后会介绍API的选择
apply(func, axis=0)
定义一个对列,最大值-最小值的函数
data[['open', 'close']].apply(lambda x: x.max() - x.min(), axis=0)open 22.74close 22.85dtype: float64到此这篇关于pandas DataFrame运算的实现的文章就介绍到这了,更多相关pandas DataFrame运算内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
通过?pandas.DataFrame.shift命令查看帮助文档Signature:pandas.DataFrame.shift(self,perio
本文主要介绍了pandas统计重复值次数的方法实现,分享给大家,具体如下:frompandasimportDataFramedf=DataFrame({'key
对于pandas的dataframe,绘制直方图方法如下://pdf是pandas的dataframe,delta_time是其中一列//xlim是x轴的范围,
pandas.DataFrame.rename使用函数:DataFrame.rename(mapper=None,index=None,columns=None
1.单列运算在Pandas中,DataFrame的一列就是一个Series,可以通过map来对一列进行操作:df['col2']=df['col1'].map(