2018年4月18日

pandas数据处理入门

由于数据处理需要,入门了python的pandas模块,感觉pandas处理效率很高。那么就来简单入门下pandas吧。

1.首先需要安装pandas模块:

通过pip来安装pandas模块:pip install pandas

2.在IDE里面导入pandas和numpy模块:
import pandas as pd
import numpy as np
3.第一步开始创建一个时间矩阵。

dates = pd.date_range('20130101',periods=6)
这样会创建一个周期为6的从20130101开始的时间序列,你如果输出它的话就会像这样
DatetimeIndex(['2013-01-01', '2013-01-02', '2013-01-03', '2013-01-04',
'2013-01-05', '2013-01-06'],
dtype='datetime64[ns]', freq='D')

4.以上面的时间序列为引索,设列引索分别为A B C D,就像这样

pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))
然后你就能看到下面这样的结果:

5.那么我们实际在对数据的操作中可能会用到对数据的分类,范围提取,切片,那么这些如何操作呢?

如果我要对上述数据进行快速汇总,那么我只需要使用describe函数即可,例如我们需要对pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))进行汇总,
只需pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD')).describe即可,为了看着美观,我们让data_time =pd.DataFrame(np.random.randn(6,4), index=dates, columns=list('ABCD'))然后data_time.describe即可,然后你就可以看见这样汇总的结果:
这样我们就可以大概看到一组数据的基本情况。

那么我们如果想提取其中的两天的数据,那么可以data_time['20130101':'20130102']这样即可提取出20130101到20130102号的数据,如果我们要提取A列或者B列的数据那么我们只需data_time['A']或者data_time['B']即可提取出A列或者B列的数据。如果我们要对A列数据进行大小排序展示出来,那么我们只需使用data_time.sort_values(by='A')即可看到数据根据A数据大小由小到大排列如下图所示:

如果需要对该矩阵进行转置的话只需data_time.T即可。

如果我们需要对返回的对象进行维度缩减,换而言之可以快速找到矩阵对应位置的数据,那我们可以data_time.loc['20130102',['A','B']],这样我们即可快速找到20130102这天A和B所对应的数据。

如果我们要对这个矩阵进行切片,那么我们只需data_time[0:3]即可,这样即是对第0到第3行进行切片。

今天随笔写到这里,欢迎邮件yz50517633@gmail.com或者qq:505174633和我一起学习!!!

stupid0121

我是热爱生活热爱运动的程序员----stupid,谢谢大家陪伴我一起成长。

You may also like...

发表评论

电子邮件地址不会被公开。 必填项已用*标注