lee-romantic 's Blog
Everything is OK!
Toggle navigation
lee-romantic 's Blog
主页
About Me
归档
标签
pandas笔记
2018-10-24 16:51:46
101
0
0
lee-romantic
参考资料: https://morvanzhou.github.io/tutorials/data-manipulation/np-pd/3-1-pd-intro/ https://blog.csdn.net/xiaodongxiexie/article/details/53108959 如果用 python 的列表和字典来作比较, 那么可以说 Numpy 是列表形式的,没有数值标签,而 Pandas 就是字典形式。Pandas是基于Numpy构建的,让Numpy为中心的应用变得更加简单。 要使用pandas,首先需要了解他主要两个数据结构:**Series和DataFrame** ##1.Series的使用 Series的字符串表现形式为:索引在左边,值在右边。由于我们没有为数据指定索引。于是会自动创建一个0到N-1(N为长度)的整数型索引: ``` import numpy as np import pandas as pd print(pd.Series([1,2,np.nan,'like'])) ``` 输出: ``` 0 1 1 2 2 NaN 3 like dtype: object ``` ##2.DataFrame的使用 DataFrame的本质是行(index)列(column)索引+多列数据. DataFrame 是有多个列的数据表,每个列拥有一个 label,当然,DataFrame 也有索引 DataFrame是一个表格型的数据结构,它包含有一组有序的列,每列可以是不同的值类型(数值,字符串,布尔值等)。DataFrame既有行索引也有列索引, 它可以被看做由Series组成的大字典。 ``` import numpy as np import pandas as pd #convert string to Timestamp date=pd.date_range('20181001',end='20181006',periods=6) data=pd.DataFrame(np.random.randn(6,4),index=date,columns=['a','b','c','d']) print(data) ``` 结果: ``` a b c d 2018-10-01 0.079521 1.861263 -0.167038 -0.577511 2018-10-02 -0.951313 -1.703871 0.819105 -1.166178 2018-10-03 1.026048 -1.342835 -0.337192 -0.594331 2018-10-04 2.266272 -0.890159 0.212557 -0.855509 2018-10-05 0.106490 -1.265277 0.114144 -1.244538 2018-10-06 -0.956383 0.665988 -1.132475 -1.053984 ``` DataFrame提供的是一个类似表的结构,由多个Series组成,而Series在DataFrame中叫columns,下面是一些数据选取方法: 例如: ``` data['w'] #选择表格中的'w'列,使用类字典属性,返回的是Series类型,写成data['w','d']这样的多参数是不对的 data.w #选择表格中的'w'列,使用点属性,返回的是Series类型 data.w[1] #选择返回的Series对象的第二个值,从第0个开始 data[['w']] #选择表格中的'w'列,返回的是DataFrame类型 data[['w','z']] #选择表格中的'w'、'z'列 data[0:2] #返回第1行到第2行的所有行,前闭后开,包括前不包括后 data[1:2] #返回第2行,从0计,返回的是单行,通过有前后值的索引形式, #如果采用data[1]则报错 data['20181002':'20181003'] #效果与上面的几乎一样,不同之处在于这不是使用系统默认的index,并且返回的是第二行与第三行,而data[1:3]则表示只返回第1,2行 data.ix[1:2] #返回第2行的第三种方法,返回的是DataFrame,跟data[1:2]同 data['a':'b'] #利用index值进行切片,返回的是**前闭后闭**的DataFrame, #即末端是包含的 ``` ``` ser.iget_value(0) #选取ser序列中的第一个 ser.iget_value(-1)#选取ser序列中的最后一个,这种轴索引包含索引器的series不能采用ser[-1]去获取最后一个,这会引起歧义。 data.head() #返回data的前几行数据,默认为前五行,需要前十行则data.head(10) data.tail() #返回data的后几行数据,默认为后五行,需要后十行则data.tail(10) data.iloc[-1] #选取DataFrame最后一行,返回的是Series data.iloc[-1:] #选取DataFrame最后一行,返回的是DataFrame data.loc['a',['w','x']] #返回‘a’行'w'、'x'列,这种用于选取行索引列索引已知 data.iat[1,1] #选取第二行第二列,用于已知行、列位置的选取。 ```
上一篇:
图像处理编程题
下一篇:
最大池化层(MaxPooling Layer)
0
赞
101 人读过
新浪微博
微信
腾讯微博
QQ空间
人人网
提交评论
立即登录
, 发表评论.
没有帐号?
立即注册
0
条评论
More...
文档导航
没有帐号? 立即注册