zoukankan      html  css  js  c++  java
  • pandas 中的DataFrame.where()使用

    pandas.DataFrame.where

    DataFrame.where(cond, other=nan, inplace=False, axis=None, level=None, try_cast=False, raise_on_error=True)

    inplace : boolean, default False

    Whether to perform the operation in place on the data

    axis : alignment axis if needed, default None

    level : alignment level if needed, default None

    try_cast : boolean, default False

    try to cast the result back to the input type (if possible),

    raise_on_error : boolean, default True

    Whether to raise on invalid data types (e.g. trying to where on strings)

    also see DataFrame.mask()

    Notes

    The where method is an application of the if-then idiom. For each element in the calling DataFrame, if cond is True the element is used; otherwise the corresponding element from the DataFrame other is used.

    The signature for DataFrame.where() differs from numpy.where(). Roughly df1.where(m, df2) is equivalent to np.where(m, df1, df2).

    For further details and examples see the where documentation in indexing.

    Examples

    >>> s = pd.Series(range(5))
    >>> s.where(s > 0)
    0    NaN
    1    1.0
    2    2.0
    3    3.0
    4    4.0
    
    >>> df = pd.DataFrame(np.arange(10).reshape(-1, 2), columns=['A', 'B'])
    >>> m = df % 3 == 0
    >>> df.where(m, -df)
       A  B
    0  0 -1
    1 -2  3
    2 -4 -5
    3  6 -7
    4 -8  9
    >>> df.where(m, -df) == np.where(m, df, -df)
          A     B
    0  True  True
    1  True  True
    2  True  True
    3  True  True
    4  True  True
    >>> df.where(m, -df) == df.mask(~m, -df)
          A     B
    0  True  True
    1  True  True
    2  True  True
    3  True  True
    4  True  True

    参考文档numpy或pandas文档

    import numpy as np arr = np.random.randn(4,4)
    print(arr)
    print(np.where(arr>0,2,-2))
    print(np.where(arr>0,2,arr))

     
  • 相关阅读:
    利用Powerdesigner16.5(64位)连接64位oracle 配置系统odbc驱动
    Commons BeanUtils 中对Map的操作
    java内存模型与线程
    类加载器详解
    虚拟机性能监控与故障处理工具
    ENode框架Conference案例分析系列之
    ENode框架Conference案例分析系列之
    225.优化路径选择
    224.CAD相关操作
    223.概率统计
  • 原文地址:https://www.cnblogs.com/onemorepoint/p/9099279.html
Copyright © 2011-2022 走看看