Pandas学习笔记,DataFrame的排序问题

数据来源见前边的几篇随笔

对其中的一列排序

data.high.sort_values(ascending=False)
data.high.sort_values(ascending=True)
data[‘high‘].sort_values(ascending=False)
data[‘high‘].sort_values(ascending=True)
p = data.high.sort_values()
print(p)
date
2015-01-05    11.39
2015-01-06    11.66
2015-01-09    11.71
2015-01-08    11.92
2015-01-07    11.99
Name: high, dtype: float64

可以看到返回的是一个Series

我们也可以对整个DataFrame进行排序

t = data.sort_values([‘high‘, ‘low‘],ascending=True)
print(t)

优先按high排序,high有相同的,按lower排序

             open   high  close    low    volume  price_change  p_change  date
2015-01-05  11.16  11.39  11.26  10.89  46383.57          0.14      1.26
2015-01-06  11.13  11.66  11.61  11.03  59199.93          0.35      3.11
2015-01-09  11.68  11.71  11.23  11.19  44851.56         -0.44     -3.77
2015-01-08  11.70  11.92  11.67  11.64  56845.71         -0.25     -2.10
2015-01-07  11.58  11.99  11.92  11.48  86681.38          0.31      2.67   

               ma5    ma10    ma20     v_ma5    v_ma10     v_ma20  turnover
date
2015-01-05  11.156  11.212  11.370  58648.75  68429.87  100765.24      1.59
2015-01-06  11.182  11.155  11.382  54854.38  63401.05   98686.98      2.03
2015-01-09  11.538  11.363  11.682  58792.43  60665.93  107924.27      1.54
2015-01-08  11.516  11.349  11.647  57268.99  61376.00  105823.50      1.95
2015-01-07  11.366  11.251  11.543  55049.74  61628.07  103010.58      2.97  
时间: 2024-08-04 10:38:31

Pandas学习笔记,DataFrame的排序问题的相关文章

pandas 学习笔记

读者只需浏览一下本文的目录结构,我相信就已经掌握了1到2成的 pandas 知识. 本文的目的是建立一个大概的知识结构 在数据挖掘python阅读源码时,断断续续查阅了些 pandas 资料,并在源码中大致感受到了 pandas 在数据清理方面的方便性. 先将自己查阅的资料结合实际应用中常用到的方式,以学习笔记的形式整理出来.不会涉及到 pandas 的所有方面,细节知识还需自行查阅官方文档. 数据结构 Series: 一维数组,与Numpy中的一维array类似.二者与Python基本的数据结

Pandas学习笔记,如何删除DataFrame中的一列(行)

同样,引入一个DataFrame d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09') data = pd.DataFrame(d) print(data.columns) Index(['open', 'high', 'close', 'low', 'volume', 'price_change', 'p_change', 'ma5', 'ma10', 'ma20', 'v_ma5', 'v_ma10', 'v

pandas学习笔记

引入所需要的包: import pandas as pd import numpy as np import matplotlib.pyplot as plt 一.创建对象 通过传递一个list对象来创建一个Series s = pd.Series([1,3,5,np.nan,6,8]) >>> s 0 1.0 1 3.0 2 5.0 3 NaN 4 6.0 5 8.0 dtype: float64 通过传递一个numpy array,时间索引以及列标签来创建一个DataFrame at

Pandas学习笔记,如何用列的值过滤行

通过tushare引入DataFrame d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09') data = pd.DataFrame(d) print(data) print(data.ma5 > data.ma20) open high close low volume price_change p_change date 2015-01-09 11.68 11.71 11.23 11.19 44851.56

Pandas学习笔记,选择多个行或列

loc--通过行标签索引行数据 iloc--通过行号获取行数据 ix--结合前两种的混合索引 具体见http://blog.csdn.net/xw_classmate/article/details/51333646 另外DataFrame[columnsA == columnsB]或者DataFrame.loc[columnsA == columnsB],可以选择满足中括号中的条件的行. columnsA == columnsB返回的是一个boolean Series,它的值为True,Dat

Pandas学习笔记,axis的用法

axis=1表示列(1是竖着的),axis=0表示行 在mean()方法中有所不同,mean(axis=0)返回的是各列的平均值 d = ts.get_hist_data('600848', start='2015-01-05', end='2015-01-09') data = pd.DataFrame(d) print(data) print(data.mean(axis=0)) 运行结果是 open high close low volume price_change p_change d

Pandas学习笔记,字符串方法(string method)

一般语法格式Series.str.method().具体方法见http://pandas.pydata.org/pandas-docs/stable/api.html#string-handling 例如 Series.str.capitalize() 作用:Convert strings in the Series/Index to be capitalized.

pandas学习笔记D1

最近使用的是python3.6版本,发现使用read_csv()无法读取中文路径下的文件,今天终于解决.代码如下: import sys sys.getfilesystemencoding() sys._enablelegacywindowsfsencoding() sys.getfilesystemencoding() import pandas as pd df=pd.read_csv("20171207日报.csv",encoding='gbk')

pandas学习笔记D2

#获取昨日的日期 import datetime now_time = datetime.datetime.now() yesterday_time = now_time + datetime.timedelta(days=-1) yesterday_time_nyr = yesterday_time.strftime('%Y%m%d')#格式化输出 --此处省略数据源的读取,直接给出写入文件代码, 将'新老师'sheet表和'新同学'sheet表保存到 '日报'工作表 df = pd.Exce