python dataframe where

来源:互联网 发布:知乎企业账号 编辑:程序博客网 时间:2024/05/28 15:24

在dataframe实现类似SQL的where过滤

# -*- coding: UTF-8 -*-import pandas as pddf = pd.DataFrame([{'col1':'a', 'col2':1}, {'col1':'b', 'col2':2}, {'col1':'c', 'col2':3}])# 单条件print df.loc[df['col1'] == 'a']print df.loc[df['col1'] != 'a']print df.loc[df['col2'] > 2]print df.loc[df['col1'].isin(['a', 'b'])]# 多条件print df.loc[df['col1'] == 'c'].loc[df['col2'] > 1]

输出结果:

  col1  col20    a     1  col1  col21    b     22    c     3  col1  col22    c     3  col1  col20    a     11    b     2  col1  col22    c     3

dataframe空值过滤

import pandas as pddf1 = pd.DataFrame([{'col1':'a', 'col2':1}, {'col1':'b', 'col2':2}])df2 = pd.DataFrame([{'col1':'a', 'col3':11}, {'col1':'c', 'col3':33}])data = pd.merge(left=df1, right=df2, how='left', left_on='col1', right_on='col1')print dataprint data.loc[data['col3'].isnull()]print data.loc[data['col3'].notnull()]

输出结果:

  col1  col2  col30    a     1    111    b     2   NaN  col1  col2  col31    b     2   NaN  col1  col2  col30    a     1    11
0 0
原创粉丝点击