我有一个以下格式的 pandas DataFrame:
df.head()
y y_pred
599 0 0
787 9 9
47 2 2
1237 1 1
1069 6 6
Run Code Online (Sandbox Code Playgroud)
我想找到行/索引号 - 其中 y != y_pred。
我正在努力做到这一点,Select但无法做到。请帮忙。
TIA
使用query:
df = df.query('y != y_pred').index
Run Code Online (Sandbox Code Playgroud)
样本:
print (df)
y y_pred
599 0 1 <-values changed for match
787 9 9
47 2 2
1237 1 1
1069 6 3 <-values changed for match
df = df.query('y != y_pred').index
print (df)
Int64Index([599, 1069], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
解决方案有boolean indexing:
df1 = df[df.y != df.y_pred].index
print (df1)
Int64Index([599, 1069], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
或者另一个答案。
要检查不同的值:
print (df.query('y != y_pred'))
y y_pred
599 0 1
1069 6 3
print (df[df.y != df.y_pred])
y y_pred
599 0 1
1069 6 3
Run Code Online (Sandbox Code Playgroud)