函数np.isreal在数据框中有什么作用?

时间:2018-10-20 09:29:29

标签: python pandas

任何人都可以解释以下代码吗?

pima_df[~pima_df.applymap(np.isreal).all(1)]

pima_df是一个数据框。

2 个答案:

答案 0 :(得分:0)

请查看文档或帮助(np.isreal)。

Returns a bool array, where True if input element is real.

If element has complex type with zero complex part, the return value
for that element is True.

精确地说,Numpy提供了一组用于按元素比较和执行数组操作的方法:

np.isreal : Determines whether each element of array is real.
np.all :    Determines whether all array element of a specific array evaluate to True.
tilde(~) :  used for Boolean indexing which means not.
applymap:   applymap works element-wise on a DataFrame.
all()   :   used to find rows where all the values are True.

〜是 invert dunder的运算符等效项,为了在pd.DataFrame / pd.Series对象上执行矢量化逻辑求逆,它已被显式覆盖。

  

布尔索引(〜)的示例:

>>> df 
    a  b  c  d
0   a  a  2  6
1   a  a  4  7
2   b  a  1  6
3   b  a  2  1
4   c  b  3  6
5   c  b  0  2
6   d  b  3  3
7   d  b  2  1
8   e  c  4  3
9   e  c  2  0
10  f  c  0  6
11  f  c  1  2

>>> df.query('a in b')
   a  b  c  d
0  a  a  2  6
1  a  a  4  7
2  b  a  1  6
3  b  a  2  1
4  c  b  3  6
5  c  b  0  2

OR

>>> df[~df.a.isin(df.b)]    # same as above
    a  b  c  d
6   d  b  3  3
7   d  b  2  1
8   e  c  4  3
9   e  c  2  0
10  f  c  0  6
11  f  c  1  2

希望这会有所帮助。

答案 1 :(得分:0)

您要提取的行中至少出现一个复数。

例如:pima_df =

    a   b
0   1   2
1   2   4+3j
2   3   5

结果应为:

    a   b
1   2   (4+3j)

简而言之:

applymap-在数据框的每个元素上应用功能。

np.isreal-返回true表示真实,否则返回false

all-如果沿轴的每个元素为true,则返回true,否则返回false。

~-取消布尔值索引