gpt4 book ai didi

python - 带有分类的 Pandas DataFrame 无法进行比较

转载 作者:太空宇宙 更新时间:2023-11-03 17:03:11 33 4
gpt4 key购买 nike

比较没有分类列的数据框:

In[1]: df = pd.DataFrame([[4,2,9],[3,8,2],[2,1,6]], columns=['one', 'two', 'three'])

In[2]: df
Out[1]:
one two three
0 4 2 9
1 3 8 2
2 2 1 6
In[3]: df == 2
Out[2]:
one two three
0 False True False
1 False False True
2 True False False

如果 df 有分类,这不应该也有效吗?

In[4]: df['two'] = df['two'].astype('category')
df == 3
Traceback (most recent call last):
<snip>
ValueError: Wrong number of dimensions

毕竟,仅比较系列是有效的:

In[5]: df['two'] == 2
Out[3]:
0 True
1 False
2 False
Name: two, dtype: bool

最佳答案

您可以使用DataFrame方法apply,它将一个函数应用于框架的所有元素。当变量是分类变量时,以下行有效:

df.apply(lambda x: x==2)

至于为什么抛出特定的ValueError,我没有答案。

关于python - 带有分类的 Pandas DataFrame 无法进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34844505/

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