gpt4 book ai didi

python - 数据框 fit_transform 抛出错误,看似不正确的错误

转载 作者:太空宇宙 更新时间:2023-11-03 21:36:44 26 4
gpt4 key购买 nike

我正在 Python 中运行给定的行:

df = df.apply(lambda x: d[x.name].fit_transform(x))

并出现以下错误:

~/anaconda3/envs/python3/lib/python3.6/site-packages/numpy/lib/arraysetops.py in _unique1d(ar, return_index, return_inverse, return_counts)
278
279 if optional_indices:
--> 280 perm = ar.argsort(kind='mergesort' if return_index else 'quicksort')
281 aux = ar[perm]
282 else:

TypeError: ("'<' not supported between instances of 'str' and 'float'", 'occurred at index name')

我的文件中的任何位置都没有字符“<”,因此不确定错误是什么?

Python 新手,因此非常感谢有关如何理解这些错误的任何见解。

最佳答案

我认为发生这种情况可能是因为您没有将干净或正确的数据传递给 fit_transform。如果没有评论中我的问题的答案,很难说(df = df.apply(lambda x: d[x.name].fit_transform(x 中的 d 代表什么? ))?)

我获取了一些虚拟数据,并举例说明了如何使用 apply 将 fit_transform 应用到数据帧。

import random
import pandas as pd
import numpy as np

# Random dummy data
s = "Crime Type Summer|Crime Type Winter".split("|")
j = {x: [random.choice(["ASB", "Violence", "Theft", "Public Order", "Drugs"]) for j in range(300)] for x in s}
df = pd.DataFrame(j)

# Instantiate the vectorizer for use in the lambda function.
from sklearn.feature_extraction.text import CountVectorizer
cv = CountVectorizer()

# Now we can call the transform directly in the lambda function.
df = df.apply(lambda x: cv.fit_transform(df[x.name].values))

这成功完成并给出:

Crime Type Summer      (0, 1)\t1\n  (1, 4)\t1\n  (2, 2)\t1\n  (2, 3...
Crime Type Winter (0, 5)\t1\n (1, 0)\t1\n (2, 0)\t1\n (3, 5...
dtype: object

关于python - 数据框 fit_transform 抛出错误,看似不正确的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53201094/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com