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))

     
  • 相关阅读:
    C# 3.0新特性之扩展方法
    ObservableCollection 类
    Path的Data
    INotifyPropertyChanged 接口
    Django的最佳系统结构
    Django 结构及处理流程分析
    django最佳实践:项目布局
    近期的几个ASP.NET开发经验总结和收集(一)
    Javascript对象Clone
    ASP.NET20 自定义配置节学习笔记(一)
  • 原文地址:https://www.cnblogs.com/onemorepoint/p/9099279.html
Copyright © 2011-2022 走看看