资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

python数据处理的方法

本篇内容主要讲解“python数据处理的方法”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python数据处理的方法”吧!

创新互联公司专注于企业全网营销推广、网站重做改版、峨山县网站定制设计、自适应品牌网站建设、html5商城系统网站开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为峨山县等各大城市提供网站开发制作服务。

df.query 过滤数据

0.25 版本开始支持 query 方法,可读性上又获得大幅提升,类似 sql 查询数据的写法,更加人性化。

下面举例说明,过滤数据常用三种方法。

df = pd.DataFrame({'A':np.random.randint(1,20,(8,)),
                   'B':np.random.randint(1,20,(8,)),
                   'C':np.random.randint(1,20,(8,))})
df
 
python数据处理的方法  

过滤条件:A列值大于其平均值,且 B列值大于 5 的行

方法 1

df[ (df['A'] > df["A"].mean()) & (df['B'] > 5)]

注意,& 前后必须要各自加一对 ()

方法 2

cr1 = df['A'] > df["A"].mean()
cr2 = df['B'] > 5
df[cr1 & cr2]
 

方法 3

mean = df["A"].mean()
df.query("A > @mean & B > 5")

query 是今天重点提到的,使用语法规则见上,变量前添加 @。这种语法的可读性大家觉得怎么样?

顺便提一下,如果列的名称中间有空格,有一个特别的语法,使用一对 `` 符号来标记列名:

df = pd.DataFrame({'First Name':['Jack','Mary','Mike']})
df.query('`First Name` == \'Jack\'')

以上三种方法得到结果都为:

python数据处理的方法    

快速找出最多的分类

首先读入数据:

df = pd.read_csv("IMDB-Movie-Data.csv")
df
python数据处理的方法

1000 行数据,genre 取值的频次统计如下:

vc = df["genre"].value_counts()
vc
 

打印结果:

Action,Adventure,Sci-Fi       50
Drama                         48
Comedy,Drama,Romance          35
Comedy                        32
Drama,Romance                 31
                              ..
Adventure,Comedy,Fantasy       1
Biography,History,Thriller     1
Action,Horror                  1
Mystery,Thriller,Western       1
Animation,Fantasy              1
Name: genre, Length: 207, dtype: int64
 

筛选出 top3 的 index:

top_genre = vc[0:3].index
print(top_genre)
 

打印结果:

Index(['Action,Adventure,Sci-Fi', 'Drama', 'Comedy,Drama,Romance'], dtype='object')

使用得到的 top3 的 index ,结合 isin,选择出相应的 df

df_top = df[df["genre"].isin(top_genre)]
df_top

结果:

python数据处理的方法

到此,相信大家对“python数据处理的方法”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!


当前名称:python数据处理的方法
标题网址:http://cdkjz.cn/article/gechgi.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220