当前位置: 首页 > 知识库问答 >
问题:

在int和str实例之间不支持

都浩淼
2023-03-14
Traceback (most recent call last):
  File "Users", line 50, in <module>
    length = len_c / (len_a_b - len_c) 
  File "\venv\lib\site-packages\pandas\core\ops\common.py", line 65, in new_method
    return method(self, other)
  File "\venv\lib\site-packages\pandas\core\arraylike.py", line 97, in __sub__
    return self._arith_method(other, operator.sub)
  File "\venv\lib\site-packages\pandas\core\series.py", line 4994, in _arith_method
    self, other = ops.align_method_SERIES(self, other)
  File "\venv\lib\site-packages\pandas\core\ops\__init__.py", line 147, in align_method_SERIES
    left, right = left.align(right, copy=False)
  File "\lib\site-packages\pandas\core\series.py", line 4220, in align
    return super().align(
  File "\venv\lib\site-packages\pandas\core\generic.py", line 8825, in alig
    return self._align_series(
  File "\venv\lib\site-packages\pandas\core\generic.py", line 8934, in _align_series
    join_index, lidx, ridx = self.index.join(
  File "\venv\lib\site-packages\pandas\core\indexes\range.py", line 690, in join
    return self._int64index.join(other, how, level, return_indexers, sort)
  File "\venv\lib\site-packages\pandas\core\indexes\base.py", line 3669, in join
    return this.join(other, how=how, return_indexers=return_indexers)
  File "\venv\lib\site-packages\pandas\core\indexes\base.py", line 3679, in join
    return self._join_monotonic(
  File "\venv\lib\site-packages\pandas\core\indexe\base.py", line 4014, in _join_monotonic
    join_index, lidx, ridx = self._outer_indexer(sv, ov)
  File "\venv\lib\site-packages\pandas\core\indexes\base.py", line 219, in _outer_indexer
    return libjoin.outer_join_indexer(left, right)
  File "pandas\_libs\join.pyx", line 556, in pandas._libs.join.outer_join_indexer
TypeError: '<' not supported between instances of 'int' and 'str'

Process finished with exit code 1

问题是从dict1开始的=

b = df2.apply(set)
a = df1.apply(set)
#print('a', a.columns)
c =  pd.concat([b.apply(lambda x : s.intersection(x)) for s in a], axis=1)
len_a_b = b.apply(lambda x : len(x) +  len(a))
len_c  = c.apply(lambda x : len(x))
dict1 = {'length' : len_c / (len_a_b - len_c) , 'b' : b , 'c' : c}

这就是数据帧的外观:

0 [Tom, eats, pineapple]
1 [Tom, eats, pineapple]
2 [Eva, eats, apple]
3 [Eva, eats, pineapple]
Name: all, dtype: object
0 [Tom, eats, pineapple]
1 [Tom, eats, pineapple]
2 [Eva, eats, apple]
3 [Eva, eats, pineapple]
Name: sentence, dtype: object

打印(len_c):长度: 550, dtype: int64

打印(len_a_b):长度:6646,数据类型:int64

正如你在标记化之后看到的,我们这里有100%的整数,但是python仍然说它没有。当数据不是两个完整的数据帧时,同样的函数也适用。

共有1个答案

邵璞
2023-03-14

而不是这样:

len_c  = c.apply(lambda x : len(x))

使用以下命令:

len_c =c.apply(lambda x : len(x)).reset_index(drop=True)

最后:

dict1 = {'length' : len_c / (len_a_b - len_c) , 'b' : b , 'c' : c}
 类似资料:
  • 问题内容: 我正在学习python并从事练习。其中之一是对投票系统进行编码,以便使用列表在比赛的23名球员中选择最佳球员。 我正在使用。 我的代码: 我懂了 TypeError:“ str”和“ int”的实例之间不支持“ <=” 但是我这里没有任何字符串,所有变量都是整数。 问题答案: 更改 至 您将从控制台以字符串形式获取输入,因此必须将输入字符串转换为对象才能进行数字运算。

  • 问题内容: 我试图像这样制作垂直的seaborn boxplot 我得到 我写东方 并得到 但 作品coreect!怎么了? 问题答案: 对于Seaborn的箱形图,在水平和垂直对齐方式之间切换时,请务必注意x轴和y轴的分配: 混淆列会导致seaborn尝试计算分类数据框中的摘要统计信息,这肯定会失败。

  • 问题内容: 我是python(PYTHON 3.4.2)的新手,我正在尝试制作一个可进行加法和除法运算的程序,以查找用户输入的平均值或均值,但我不知道如何添加数字接收。 当我在命令提示符下打开程序时,它接受我输入的数字,并且如果我使用打印功能,也将打印它,但不会将数字加起来。 我收到此错误: 我的代码如下: 任何帮助将不胜感激。 问题答案: 将输入作为字符串 您要告诉用户使用逗号分隔输入,因此需要

  • 问题内容: 每当我运行这个程序我都会得到这个 我该怎么做才能将pyc除以tpy? 问题答案: 通过将它们变成整数: 在python 3中,该函数返回一个字符串。总是。这是对Python 2的更改;该功能已重命名为。

  • 描述 (Description) 此方法返回指定子字符串最后一次出现的此字符串中的索引,从指定索引开始向后搜索。 语法 (Syntax) 以下是此方法的语法 - public int lastIndexOf(String str, int fromIndex) 参数 (Parameters) 这是参数的细节 - fromIndex - 从中开始搜索的索引。 str - 一个字符串。 返回值 (R

  • 描述 (Description) 此方法返回指定子字符串第一次出现的字符串中的索引,从指定的索引开始。 如果没有发生,则返回-1。 语法 (Syntax) 以下是此方法的语法 - int indexOf(String str, int fromIndex) 参数 (Parameters) 这是参数的细节 - fromIndex - 从中开始搜索的索引。 str - 一个字符串。 返回值 (Ret