小编DrT*_*TRD的帖子

元素最多两个数据框忽略NaN

我有两个数据帧(df1和df2),每个数据帧具有相同的行和列.我想逐个元素地取这两个数据帧的最大值.此外,任何元素最大值与数字和NaN的结果应该是数字.到目前为止我实施的方法似乎效率低下:

def element_max(df1,df2):
    import pandas as pd
    cond = df1 >= df2
    res = pd.DataFrame(index=df1.index, columns=df1.columns)
    res[(df1==df1)&(df2==df2)&(cond)]  = df1[(df1==df1)&(df2==df2)&(cond)]
    res[(df1==df1)&(df2==df2)&(~cond)] = df2[(df1==df1)&(df2==df2)&(~cond)]
    res[(df1==df1)&(df2!=df2)&(~cond)] = df1[(df1==df1)&(df2!=df2)]
    res[(df1!=df1)&(df2==df2)&(~cond)] = df2[(df1!=df1)&(df2==df2)]
    return res
Run Code Online (Sandbox Code Playgroud)

还有其他想法吗?感谢您的时间.

math dataframe python-3.x pandas

10
推荐指数
2
解决办法
4703
查看次数

确定集合联合的有效方法

我有一个(非常大的)集合列表,包含一对值,例如:

SetList = [{1,2},{2,3},{4,5},{5,6},{1,7}]
Run Code Online (Sandbox Code Playgroud)

我想有效地确定上述对中关系的传递性所暗示的不相交值集.例如,1与2相关联,2与3相关,因此1,2,3相关联.类似地,1与7相关联,因此1,2,3和7相关联.在上面,4,5和6是相关联的,但不与剩余的值相关联.结果应如下所示:

DisjointSets = [{1,2,3,7},{4,5,6}]
Run Code Online (Sandbox Code Playgroud)

是否有简单而有效的方法来执行我缺少的操作?谢谢!

python set python-3.x

2
推荐指数
1
解决办法
105
查看次数

标签 统计

python-3.x ×2

dataframe ×1

math ×1

pandas ×1

python ×1

set ×1