pandas进行数据选取

pandas官方文档
pandas中有两种基本的数据类型,SeriesDataFrame,前者是一维的,后者是二维甚至多维的。

首先生成一个DataFrame对象,这里用到了numpy中的生成随机数函数random.randn()。行名和列名通过index和column来定义。

import numpy  as np
import pandas as pd
dates=pd.date_range('20190101',period=6)
#这个函数是生成一个时间序列,可选参数有start,end,period,fraq等
df=pd.DataFrame(np.random.rand(6,4),index=dates,column=list('ABCD'))
#此处的list是个Iterator

获取行名、列名

df.index
#emmm这是个属性,不用加括号,啧啧啧
df.columns

显示数据的统计摘要

df.describe()

数据转置

df.T

数据按轴排序

data.sort_index(axis=0,ascending=False)
#axis=0是行,1是列,True是升序,False是降序

获取数据

获取列
按照列名获取

pd['A']#
pd[['A','B']]

获取行
有两种方式,按照行的索引名称或者数字,进行切片

pd[0:3]
pd['20190101':'20190105']

按照索引名称获取 loc()

pd.loc(:,:)#前面的是行,后面的是列,列可以不写
pd.loc('20190101':'20190105','A':'B')

如果想按顺序选取,可以这样,也可以按照下一个方法

dates=pd.index
pd.loc[dates[0]:dates[1]]

按照位置选取iloc()

df.iloc[0:1,0:5]

布尔索引

选取符合条件的数据

df['A']>0 #返回的是bool列表

2019-01-01    True
2019-01-02    True
2019-01-03    True
2019-01-04    True
2019-01-05    True
2019-01-06    True
Freq: D, Name: A, dtype: bool
df[df['A']>0

A	B	C	D
2019-01-02	-0.604116	-1.745064	-0.417829	0.834972
2019-01-03	-1.075509	-2.302135	-0.156421	-1.291591
2019-01-06	-1.390509	-1.313781	0.008195	0.617441

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值