if-then  2018/12/31 ============================================================
1.if-then / if-then-else用在一个数据帧上:# 实例1:if-then-else
df = pd.DataFrame({'A': [10,11,12],'B': [20,21,22],'C': [30, 31, -32]})df.loc[df.A >= 11, 'B'] = -1        #if-then在一列上
df.loc[df.A >= 5, ['B', 'C']] = 88  #if-then分配给2列
df.loc[df.A < 12, ['B', 'C']] = 99  # 添加不同逻辑另一行,以执行-else#df              result1          result2          result3A   B   C        A   B   C       A    B   C       A    B   C
0  10  20  30    0  10  20  30    0  10  88  88    0  10  99  99
1  11  21  31    1  11  -1  31    1  11  88  88    1  11  99  99
2  12  22 -32    2  12  -1 -32    2  12  88  88    2  12  88  88# 实例2:where 矢量化if elsedf_bool = pd.DataFrame({'A': [True] * 3, 'B': [False] * 3, 'C': [True, False,True] })df.where(df_bool, -66)#根据bool值选择
df['logic'] = np.where(df['A'] > 11, 'high', 'low')#df              result4          result5A   B   C       A    B   C       A   B   C    logic
0  10  99  99    0  10 -66  99    0  10  99  99   low
1  11  99  99    1  11 -66 -66    1  11  99  99   low
2  12  88  88    2  12 -66  88    2  12  88  88   high# 实例3:
s1=pd.Series([11,np.nan,13,14,np.nan])
s2=pd.Series([np.nan,22,23,24,25])
np.where(pd.isnull(s1),s2,s1)#array([11., 22., 13., 14., 25.])df1=pd.DataFrame({'a':[11,np.nan,13,14,np.nan],'b':[np.nan,22,23,24,25]})
df2=pd.DataFrame({'a':[np.nan,42,43,np.nan,45],'b':[31,np.nan,33,34,35]})
pd.DataFrame(np.where(pd.isnull(df1),df2,df1),columns=list('ab'))# df1                     df2              result                          a        b            a     b                 a     b
0  11.0   NaN        0   NaN   31.0        0  11.0  31.0
1  NaN   22.0        1   42.0  NaN         1  42.0  22.0
2  13.0  23.0        2   43.0  33.0        2  13.0  23.0
3  14.0  24.0        3   NaN   34.0        3  14.0  24.0
4  NaN   25.0        4   45.0  35.0        4  45.0  25.0============================================================
2.if-then / if-then-else用在2个数据帧上:实例1:# 若df1>=df2选择df1中数据,否则选择df2中的数据df1 = pd.DataFrame({'A': [10, 11], 'B': [12, 13]})
df2 = pd.DataFrame({'A': [21, -22], 'B': [23, -24]})result1=df1[df1>=df2].append(df2[df1<df2]).dropna()
result2=df1[df1.A>df2.B]
result3=df1[df1.A!=11]# df1        df2          result1   result2    result3A    B       A    B      A   B     A   B       A  B
0  10  12    0  21  23    0 21 23   1 11 13    0 10 12
1  11  13    1 -22 -24    1 11 13
============================================================

pandas25 if else语句(多数据df选择)( tcy)相关推荐

  1. C语言循环选择还有,C语言第五讲,语句 顺序循环选择.(示例代码)

    C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...

  2. C语言第五讲,语句 顺序循环选择.

    C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...

  3. c语言中循环并列语句顺序,C语言第五讲,语句 顺序循环选择.

    C语言第五讲,语句 顺序循环选择. 一丶语句的简明了解 我们知道,在编写C语言程序的时候,代码是顺序执行的. 从上往下执行. 但是我们可以控制流程的. 在控制之前,我们要先熟悉什么是语句. 相比大家学 ...

  4. python中的选择结构语句是语句_python3控制语句---选择结构语句

    python中的控制语句主要有if.if--else.if--slif--else.pass语句.其实python的控制语句与其他语言的控制语句工作原理基本一样.控制语句可以分为选择结构语句和循环结构 ...

  5. 03-03 java 顺序语句结构,选择结构if语句

    顺序结构: /*流程控制语句:可以控制程序的执行流程.分类:顺序结构选择结构循环结构顺序结构:从上往下,依次执行. */ class ShunXuJieGouDemo {public static v ...

  6. 51单片机c语言常用语句详解,51单片机之C语言-4.5基本语句之条件选择语句

    1. 条件选择语句之if 语句 前面我们讲了数据类型,运算符及表达式.C语言也是一种语言,既然是语言,一定有连接词.这些连接词可以用来表示假设,循环等等.我们先来看看假设if语句.这些连接词有一定的规 ...

  7. C#语句1:选择语句一(if else )

    语句是指程序命令,都是按照顺序执行的.语句在程序中的执行顺序称为"控制流"或"执行流". 根据程序对运行时所收到的输入的响应,在程序每次运行时控制流可能有所不同 ...

  8. java if 顺序 括号_03-03 java 顺序语句结构,选择结构if语句

    /*if语句的格式3: if(比较表达式1) { 语句体1; }else if(比较表达式2) { 语句体2; }else if(比较表达式3) { 语句体3; } ... else { 语句体n+1 ...

  9. nsis安装mysql服务语句_NSIS自定义界面选择安装

    在我分享软件的过程,慢慢想让自己的软件很独特,就开始接触了各种打包软件,开始自己用易语言自写打开软件,可是一切总不是那么完美,后来无意中发现了NSIS,堪称打包的极品. 打包效果预览:请自行下载查看, ...

  10. java if语句选择题_选择语句(if else) 习题(2017/12/1)

    1.输入一个整数,判断这个整数是大于0,还是小于0,还是等于0. import java.util.Scanner; public class three { public static void m ...

最新文章

  1. Vue性能优化:如何实现延迟加载和代码拆分?
  2. ivf技术_体外受精技术介绍 谁需要IVF技术帮助
  3. discuz 后台页面开发
  4. JedisPool无法获得资源问题
  5. 一篇文章入门深度学习框架PyTorch
  6. SQLite Where 子句(http://www.w3cschool.cc/sqlite/sqlite-where-clause.html)
  7. virtualbox+vagrant学习-2(command cli)-27-vagrant connect命令
  8. POJ 2411 Mondriaan's Dream(状态压缩DP)
  9. C++项目库包含,dll引用问题,直接把缺失的dll或库放置可执行文件里
  10. linux命令解释程序实验,实验二 命令解释程序的使用
  11. python pathname_Python模块的定义,模块的导入,__name__用法实例分析
  12. python什么是可变参数_详解Python的三种可变参数
  13. 为什么领导们总是劝大家不要只盯着工资?
  14. windows server 2003 系统提权
  15. 弯管机程序使用三菱FX系列 PLC和昆仑通态触摸屏,也可以用三菱F940系列触摸屏
  16. 【GMSK】研究PCM/FM和GMSK的调制和解调方法
  17. linux怎么做冗余备份,linux下使用raid实现冗余备份
  18. 拳皇97c语言编码,拳皇97金手指代码
  19. ie vue报Unhandled promise rejection ReferenceError
  20. 【组成原理系列】微操作与控制单元

热门文章

  1. 查询EI检索号的方法
  2. java 因数分解_java因数分解实例源码
  3. 基于时空融合的高效率多阶段视频降噪方法-EMVD
  4. 深度学习声纹识别_一种基于机器学习及深度学习的声纹降噪方法及系统与流程...
  5. rabbitmq 消息确认机制ACK
  6. 调研之路 --- MXF
  7. 地图比例尺、瓦片切片方案、EPSG
  8. Excel小技巧-获取列数
  9. 20182319彭淼迪第一周学习总结
  10. JAVA中Long与Integer踩的坑