首页 > 编程语言 > 详细

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

时间:2020-08-03 18:25:27      阅读:107      评论:0      收藏:0      [点我收藏+]

排序

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

Series

In [192]: obj
Out[192]:
d    7
a    1
b    2
c    3
e    9
f    4
dtype: int64

In [193]: obj.sort_index()
Out[193]:
a    1
b    2
c    3
d    7
e    9
f    4
dtype: int64

In [194]: obj.sort_values()
Out[194]:
a    1
b    2
c    3
f    4
d    7
e    9
dtype: int64

Dataframe

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

sort_index

In [215]: frame
Out[215]:
       a  b  d  c
three  0  1  4  7
one    2  1  4  3

In [216]: frame.sort_index()
Out[216]:
       a  b  d  c
one    2  1  4  3
three  0  1  4  7

In [217]: frame.sort_index(axis=1)
Out[217]:
       a  b  c  d
three  0  1  7  4
one    2  1  3  4

sort_values

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

In [219]: frame.sort_values(by=one,axis=1)
Out[219]:
       b  a  c  d
three  1  0  7  4
one    1  2  3  4

In [220]: frame.sort_values(by=c)
Out[220]:
       a  b  d  c
one    2  1  4  3
three  0  1  4  7

描述和统计方法

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

技术分享图片

 

 

 

In [227]: frame.sum()
Out[227]:
a     2
b     2
d     8
c    10
dtype: int64

In [228]: frame.count()
Out[228]:
a    2
b    2
d    2
c    2
dtype: int64

In [229]: frame.sum(axis=1)
Out[229]:
three    12
one      10
dtype: int64

In [230]: frame.var()
Out[230]:
a    2.0
b    0.0
d    0.0
c    8.0
dtype: float64

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

In [231]: frame.describe()
Out[231]:
              a    b    d         c
count  2.000000  2.0  2.0  2.000000
mean   1.000000  1.0  4.0  5.000000
std    1.414214  0.0  0.0  2.828427
min    0.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.000000
max    2.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  0  1  4  7
one    2  1  4  3

In [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    c
1    a
2    d
3    a
4    a
5    b
6    b
7    c
8    c
dtype: object

In [244]: obj.value_counts()
Out[244]:
c    3
a    3
b    2
d    1
dtype: int64

is_in

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

In [249]: obj
Out[249]:
0    c
1    a
2    d
3    a
4    a
5    b
6    b
7    c
8    c
dtype: object

In [250]: obj.isin([a,c])
Out[250]:
0     True
1     True
2    False
3     True
4     True
5    False
6    False
7     True
8     True
dtype: bool

In [251]: obj[obj.isin([a,c])]
Out[251]:
0    c
1    a
3    a
4    a
7    c
8    c
dtype: object

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

原文:https://www.cnblogs.com/xiaosanye/p/12125077.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!