我正在学习如何通过数据框训练和测试样本。 我查看了solution post,但我不了解代码语法的一些细节。
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.mongodb.core.index.IndexDirection;
import org.springframework.data.mongodb.core.index.Indexed;
@Document(collection = "role")
public class Role {
@Id
private String id;
@Indexed(unique = true, direction = IndexDirection.DESCENDING, dropDups = true)
private String role;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getRole() {
return role;
}
public void setRole(String role) {
this.role = role;
}
}
由于msk将返回一个布尔数组。 msk如何成为df的索引,而df [msk]返回实际的数值数据?据我了解,df的索引应该是一个字符串或字符串数组。
答案 0 :(得分:0)
在NumPy和Pandas中,与您要索引的数组相同长度的布尔数组被视为“掩码”,并选择掩码为True的值。
答案 1 :(得分:0)
摘自boolean indexing上的Pandas文档:
您可以使用相同的布尔向量从DataFrame中选择行 长度作为DataFrame的索引
在您的示例中,通过使用{{1},您可以在df[msk]
中获得与布尔向量df
中的True
值具有相同索引的行,其中{{1 }}与msk
中的df[~msk]
值相对应。
答案 2 :(得分:0)
temp = np.array([1, 1, 1, 2, 2, 2])
import numpy as np
print(temp == 1)
Output:
[ True True True False False False]
检查temp中的每个元素是否等于“ 1”,并返回相同的布尔列表。您正在做的事情与此相反。
这仅适用于numpy。 Python列表将不支持布尔索引。并在python本机列表上应用相同的代码,以得到“ False”作为回报,因为这会将数字与整个列表进行比较。