python dataframe sort_python数据分析(八) python pandas--series和dataframe的方法,排序,统计...

排序

根据条件对结果进行排序,是pandas当中的一个重要方法,pandas提供了两种排序方式,根据index值,或是根据其中的value进行排序

Series

In [192]: obj

Out[192]:

d7a1b2c3e9f4dtype: int64

In [193]: obj.sort_index()

Out[193]:

a1b2c3d7e9f4dtype: int64

In [194]: obj.sort_values()

Out[194]:

a1b2c3f4d7e9dtype: int64

Dataframe

dataframe作为二维数据结构在排序时,可根据行或者列进行排序,传入axis参数,默认是根据axis=0进行排序

sort_index

In [215]: frame

Out[215]:

a b d c

three 01 4 7one2 1 4 3In [216]: frame.sort_index()

Out[216]:

a b d c

one2 1 4 3three 01 4 7In [217]: frame.sort_index(axis=1)

Out[217]:

a b c d

three 01 7 4one2 1 3 4

sort_values

dataframe也可以根据值进行排序,但是dataframe当中的行与列一般都是多行或者多列,所以需要通过by参数指定具体的列名或者行名

In [219]: frame.sort_values(by='one',axis=1)

Out[219]:

b a c d

three1 0 7 4one1 2 3 4In [220]: frame.sort_values(by='c')

Out[220]:

a b d c

one2 1 4 3three 01 4 7

描述和统计方法

pandas提供了多种统计方法,如同

In [227]: frame.sum()

Out[227]:

a2b2d8c10dtype: int64

In [228]: frame.count()

Out[228]:

a2b2d2c2dtype: int64

In [229]: frame.sum(axis=1)

Out[229]:

three12one10dtype: int64

In [230]: frame.var()

Out[230]:

a2.0b0.0d0.0c8.0dtype: float64

其中的describe方法,能够一次性产生多个类型的统计信息,用以描述一个数据

In [231]: frame.describe()

Out[231]:

a b d c

count2.000000 2.0 2.0 2.000000mean1.000000 1.0 4.0 5.000000std1.414214 0.0 0.0 2.828427min0.000000 1.0 4.0 3.000000

25% 0.500000 1.0 4.0 4.000000

50% 1.000000 1.0 4.0 5.000000

75% 1.500000 1.0 4.0 6.000000max2.000000 1.0 4.0 7.000000

唯一值,值计数以及成员资格

之前我们介绍的方法,都是可以用于dataframe以及series的,但是有一些方法是仅series拥有这些方法

unique

unique方法,用于获取series当中的唯一值,类似于python当中的set(list_obj)操作,去除其中的重复值,返还一个只含有唯一值的数组。

In [238]: frame

Out[238]:

a b d c

three 01 4 7one2 1 4 3In [239]: frame.d.unique()

Out[239]: array([4], dtype=int64)

In [240]: frame.c.unique()

Out[240]: array([7, 3], dtype=int64)

value_counts

记录series各个值出现的次数

In [242]: obj = pd.Series(['c', 'a', 'd', 'a', 'a', 'b', 'b', 'c', 'c'])

In [243]: obj

Out[243]:

0 c1a2d3a4a5b6b7c8c

dtype: object

In [244]: obj.value_counts()

Out[244]:

c3a3b2d1dtype: int64

is_in

判断series的成员资格,返还一个布尔数组,常用于过滤series和dataframe的数据

In [249]: obj

Out[249]:

0 c1a2d3a4a5b6b7c8c

dtype: object

In [250]: obj.isin(['a','c'])

Out[250]:

0 True1True2False3True4True5False6False7True8True

dtype: bool

In [251]: obj[obj.isin(['a','c'])]

Out[251]:

0 c1a3a4a7c8c

dtype: object

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值