有人可以解释为什么我在 sympy.Set() 上出错
can someone explain why i'm getting an error on a sympy.Set()
作品:
import sympy as sp
import pandas as pd
test = pd.DataFrame( {'greeting':['hey','hi','hello','howdy']} )
test1['greeting'].map(lambda x: sp.Set(*x).is_proper_subset( sp.Set(*x) ))
无效:
import sympy as sp
import pandas as pd
test = pd.DataFrame( {'greeting':['hey','hi','hello','howdy']} )
test1['greeting'].map(lambda x: sp.Set('hi',).is_proper_subset( sp.Set(*x) ))```
我得到:
AttributeError: 'str' object has no attribute 'args'
我也试过在另一个数据帧上使用数字:
test['triplets'].map(lambda x: sp.Set(*(813,)).is_proper_subset( sp.Set(*x) ))
我得到了相同的结果。
https://docs.sympy.org/latest/modules/sets.html
class sympy.sets.sets.Set(*args)[source]¶
The base class for any kind of set.
好的...为什么当我通过 lambda 传递它时它对每个系列值都起作用,但当我手动编写它时却不起作用
注意:我的最终目标是将它放在一个 for 循环中,迭代被传递到我有 'hi'
的地方
我不知道交易是什么,我希望有一个答案 - 但在那之前,我已经求助于此:
test1['greeting'].map(lambda x: set('hi').issubset(set(x)) and set('hi')!=set(x))
来自 sympy 的 Set
documentation:
class sympy.sets.sets.Set(*args)[source]¶
This is not meant to be used directly as a container of items. It does not behave like the builtin set; see FiniteSet for that.
主要问题是 is_proper_subset
用于“集合”的间隔类型。它似乎不能很好地处理更简单的集合,但给出了一个相当神秘的错误消息。调试时,往往有助于尽可能减少问题:
import sympy as sp
sp.Set(1, 2).is_proper_subset(sp.Set(1, 2, 3))
这会引发错误 AttributeError: 'int' object has no attribute 'args'
。
同样:
sp.Set('a', 'b').is_proper_subset(sp.Set('a', 'b', 'c'))
通向 AttributeError: 'str' object has no attribute 'args'
。
原始问题的最佳解决方案是使用标准 python 函数。
作品:
import sympy as sp
import pandas as pd
test = pd.DataFrame( {'greeting':['hey','hi','hello','howdy']} )
test1['greeting'].map(lambda x: sp.Set(*x).is_proper_subset( sp.Set(*x) ))
无效:
import sympy as sp
import pandas as pd
test = pd.DataFrame( {'greeting':['hey','hi','hello','howdy']} )
test1['greeting'].map(lambda x: sp.Set('hi',).is_proper_subset( sp.Set(*x) ))```
我得到:
AttributeError: 'str' object has no attribute 'args'
我也试过在另一个数据帧上使用数字:
test['triplets'].map(lambda x: sp.Set(*(813,)).is_proper_subset( sp.Set(*x) ))
我得到了相同的结果。
https://docs.sympy.org/latest/modules/sets.html
class sympy.sets.sets.Set(*args)[source]¶
The base class for any kind of set.
好的...为什么当我通过 lambda 传递它时它对每个系列值都起作用,但当我手动编写它时却不起作用
注意:我的最终目标是将它放在一个 for 循环中,迭代被传递到我有 'hi'
的地方我不知道交易是什么,我希望有一个答案 - 但在那之前,我已经求助于此:
test1['greeting'].map(lambda x: set('hi').issubset(set(x)) and set('hi')!=set(x))
来自 sympy 的 Set
documentation:
class sympy.sets.sets.Set(*args)[source]¶ This is not meant to be used directly as a container of items. It does not behave like the builtin set; see FiniteSet for that.
主要问题是 is_proper_subset
用于“集合”的间隔类型。它似乎不能很好地处理更简单的集合,但给出了一个相当神秘的错误消息。调试时,往往有助于尽可能减少问题:
import sympy as sp
sp.Set(1, 2).is_proper_subset(sp.Set(1, 2, 3))
这会引发错误 AttributeError: 'int' object has no attribute 'args'
。
同样:
sp.Set('a', 'b').is_proper_subset(sp.Set('a', 'b', 'c'))
通向 AttributeError: 'str' object has no attribute 'args'
。
原始问题的最佳解决方案是使用标准 python 函数。