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

ata =pd.date_range(‘20170701‘,periods=6)
>>> data
DatetimeIndex([‘2017-07-01‘, ‘2017-07-02‘, ‘2017-07-03‘, ‘2017-07-04‘,
               ‘2017-07-05‘, ‘2017-07-06‘],
              dtype=‘datetime64[ns]‘, freq=‘D‘)

通过传递一个能够被转换成类似序列结构的字典对象来创建一个DataFrame

df2 = pd.DataFrame({‘A‘:1,
                    ‘B‘:pd.Timestamp(‘20170702‘),
                    ‘C‘:pd.Series(1,index=list(range(4)),dtype=‘float32‘),
                    ‘D‘:np.array([3]*4,dtype=‘int32‘),
                    ‘E‘:pd.Categorical([‘test‘,‘train‘,‘test‘,‘train‘]),
                    ‘F‘:‘foo‘})
>>> df2
   A          B    C  D      E    F
0  1 2017-07-02  1.0  3   test  foo
1  1 2017-07-02  1.0  3  train  foo
2  1 2017-07-02  1.0  3   test  foo
3  1 2017-07-02  1.0  3  train  foo

二、 查看数据

1、查看frame中头部和尾部的行

index = pd.date_range(‘1/1/2000‘, periods=8)
s = pd.Series(np.random.randn(5), index=[‘a‘, ‘b‘, ‘c‘, ‘d‘, ‘e‘])
df = pd.DataFrame(np.random.randn(8, 3),index=index,columns=[‘A‘, ‘B‘, ‘C‘])
>>> df.head()
                   A         B         C
2000-01-01 -0.944924 -0.081706 -1.161476
2000-01-02 -0.205432  0.271903  0.668626
2000-01-03 -0.505713  1.804659 -1.232667
2000-01-04  0.048007  1.246067  0.083038
2000-01-05 -0.561152  0.987697 -0.268812
>>> df.tail(3)
                   A         B         C
2000-01-06  0.613778 -0.357461  1.649822
2000-01-07  1.045096 -1.840059  1.413085
2000-01-08 -1.481738 -0.663567  0.437833
时间: 2024-10-08 14:53:35

pandas学习笔记的相关文章

pandas 学习笔记

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

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学习笔记,如何用列的值过滤行

通过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学习笔记,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-0

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学习笔记,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学习笔记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