任何人都可以解释以下代码吗?
pima_df[~pima_df.applymap(np.isreal).all(1)]
pima_df
是一个数据框。
答案 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。
~
-取消布尔值索引