我有一个包含很多 NA 值的 DataFrame。我想编写一个查询,该查询返回特定列不是 NA 但所有其他列都是 NA 的行。
我可以得到一个数据框,其中所有列值都不是 NA 很容易:
df[df.interesting_column.notna()]
Run Code Online (Sandbox Code Playgroud)
但是,我无法弄清楚如何然后说“从该 DataFrame 返回的行中,每一列不是 'interesting_column' 的列都是 NA”。我不能使用,.dropna因为所有行和列都将包含至少一个 NA 值。
我意识到这可能非常简单。我尝试了很多.loc变化,在各种配置中加入/合并,但我一无所获。
在我对这件事进行 for 循环之前的任何指针都将不胜感激。
我有一个字典,其中一些键是Enum实例(enum.Enum的子类).我正在尝试根据文档使用自定义JSON编码器类将字典编码为JSON字符串.我想要的只是让输出的JSON中的键是Enum名称的字符串.例如,{ TestEnum.one : somevalue }将编码为{ "one" : somevalue }.
我写了一个简单的测试用例,如下所示,我在一个干净的virtualenv中测试过:
import json
from enum import Enum
class TestEnum(Enum):
one = "first"
two = "second"
three = "third"
class TestEncoder(json.JSONEncoder):
""" Custom encoder class """
def default(self, obj):
print("Default method called!")
if isinstance(obj, TestEnum):
print("Seen TestEnum!")
return obj.name
return json.JSONEncoder.default(self, obj)
def encode_enum(obj):
""" Custom encoder method """
if isinstance(obj, TestEnum):
return obj.name
else:
raise TypeError("Don't know how to decode this")
if __name__ == "__main__": …Run Code Online (Sandbox Code Playgroud) 我有一个图表,其中顶点有几个出站边类型,并且每个边类型都有属性。我想从每个顶点获取出站边的计数,但将计数限制为具有特定标签和属性值的边。
到目前为止,我有:
g.V().hasLabel("vertexLabel").as("source")
.outE("edgeLabel").has("edgeProp", "propValue").as("edge")
.select("source", "edge")
Run Code Online (Sandbox Code Playgroud)
这给了我一个包含正确标签和属性的每个源顶点和每个输出边的列表。我想要做的是将其减少为每个源顶点的单个条目和出站边数的计数。但是,我似乎无法groupCount与outE. 我得到的最接近的是:
g.V().hasLabel("vertexLabel").as("source").out("edgeLabel").groupCount()
Run Code Online (Sandbox Code Playgroud)
这让我按源顶点计数,但包括带有该标签的所有边,而不管它们具有什么属性值。
我知道这可能需要一个group().by()步骤,但我不确定如何形成它。
提前致谢。