美文网首页pandas Cookbook 中文系列
pandasCookbook 第三讲——建立规则

pandasCookbook 第三讲——建立规则

作者: 王迈克 | 来源:发表于2016-11-19 12:07 被阅读97次
  • 建立规则
    针对多列的规则
import pandas as pd 
import numpy as np 
df=pd.DataFrame({'AAA':[4,5,6,7],'BBB':[10,20,30,40],'CCC':[100,50,-30,-50]}) 
df 
AAA BBB CCC
0 4 10 100
1 5 20 50
2 6 30 -30
3 7 40 -50

通过‘与’规则,这样会返回一个Series

newSeries=df.loc[(df['BBB']<25)&(df['CCC']>=-40),'AAA'] 
newSeries 

0 4
1 5
Name: AAA, dtype: int64

通过 ‘或’规则,同样返回一个Series,注意我在这里的写法是df.BBB,等效于df['BBB']

newSeries=df.loc[(df.BBB>25) | (df.CCC >=75),'AAA'] 
newSeries 

0 4
2 6
3 7
Name: AAA, dtype: int64

通过对规则运用后的赋值,来得到一个修改后的dataframe

df.loc[(df.BBB>25)|(df.CCC>=75),['AAA','BBB']]=0.1 
df 
AAA BBB CCC
0 0.1 0.1 0.1
1 5.0 20.0 50.0
2 0.1 0.1 0.1
3 0.1 0.1 0.1

用argsort()对某个列排序 (按照与指定值最相近)

df=pd.DataFrame({'AAA':[4,5,6,7],'BBB':[10,20,30,40],'CCC':[100,50,-30,-50]}) 
df 
aValue=43.0 
df.ix[(df.BBB-aValue).abs().argsort()] 
AAA BBB CCC
3 7 40 -50
2 6 30 -30
1 5 20 50
0 4 10 100

用二元操作符动态地建立'标准list'并进行归约,这里有两种方式,直接&连接Reduce

df=pd.DataFrame({'AAA':[4,5,6,7],'BBB':[10,20,30,40],'CCC':[100,50,-30,-50]}) 

#method1:&直接连接标准 
Crit1=df.AAA <= 5.5 Crit2 = df.BBB == 10.0 Crit3 = df.CCC > -40.0 
allCrit=Crit1 & Crit2 & Crit3 
df[allCrit] 

#method2: Reduce 建立 
critList=[Crit1,Crit2,Crit3] 
allCrit=functools.reduce(lambda x,y:x&y,critList) 
df[allCrit] 
# 效果完全相同 
AAA BBB CCC
0 4 10 100

tips:读者如果对reduce函数有疑问,可以百度“廖雪峰” 查看python基础语法教程中map和reduce函数的基础用法。
这里推荐python初学者认真学习廖雪峰教程 ,基础语法不甚解直接来学习pandas,很多时候会有一头雾水的感觉。

第三讲完毕

相关文章

  • pandasCookbook 第三讲——建立规则

    建立规则针对多列的规则 通过‘与’规则,这样会返回一个Series 0 41 5Name: AAA, dtype:...

  • 规则建立

    如果是生活中必要的规则,那么父母就应该明确说出并坚持执行,同时接纳孩子由此产生的任何情绪。建立规则的同时必须要注意...

  • 建立规则

    最近和她相处模式处于让我发疯的节奏。 上半年的疫情、网课……她对电子产品的依赖程度越来越大,本着尊重她...

  • 建立规则,看守规则

    晚上,阳宝贝哈欠连连,宝妈想,孩子这么累了,让他早点睡吧。过了一会儿,妈妈再去看宝贝时,她气得半死:阳并没有睡,拿...

  • 当代创业合伙人靠什么相处

    合伙人怎么合伙,股份怎么分,合伙之后需要建立规则,但是怎么建立规则、建立什么样的规则?现实中大家对规则本质的认识还...

  • 建立规则与规则意识

    我们都知道无规矩不成方圆,我们做很多的事情,都需要建立规则,而且在事情最初就要建好规则,有规则意识,规则具...

  • 规则的建立

    今天积木课结束,大家要收积木的!淼淼一直是不太愿意收积木的,之前是因为想第一时间去看绘本,每次都会去引导她,然后进...

  • 规则的建立

    女儿一天比一天大了,要开始管教她了,要教她做个有教养的人 很早就读了无条件养育和PET父母效能训练这2本书,知道不...

  • 规则的建立

    老妈以前总是批判我对孩子是一个没原则的妈妈,我自己的反思也是如此,比如孩子想通过哭闹来达到某种目的,我是很容易妥...

  • 建立规则思考

    今天开车9个小时,从厦门返回东莞,一路上妹妹孩子一路哭闹,一路吃着东西,而我一路在思考,心烦意乱时也会听下歌,在看...

网友评论

    本文标题:pandasCookbook 第三讲——建立规则

    本文链接:https://www.haomeiwen.com/subject/fozspttx.html