gpt4 book ai didi

python - 'numpy.float6 4' object has no attribute ' 适用'

转载 作者:太空宇宙 更新时间:2023-11-04 04:15:14 32 4
gpt4 key购买 nike

我正在尝试根据另一个单元格的值更改单元格值(颜色“红色”或“绿色”)。我运行以下命令:

df.loc[0, 'Colour'] = df.loc[0, 'Count'].apply(lambda x: 'Red' if x <= 500 
else 'Green')

我收到以下错误:

AttributeError: 'numpy.float64' object has no attribute 'apply'

非常感谢任何帮助

最佳答案

当您使用 df.loc[0, 'Count'] 时,您只会返回实际上是 float 位置的项目。 apply 是 Pandas 或 numpy 系列的一种方法,因此您需要有一个 Series 类才能使用该方法。所以很可能您想做这样的事情,但如果没有测试数据集,很难知道。

df['Colour'] = df['Count'].apply(lambda x: 'Red' if x <=500 else 'Green')

创建一个测试数据集向您展示了它们是如何协同工作的:

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,1000,size=(10, 4)), columns=list('ABCD'))
df['Colour'] = df['A'].apply(lambda x: 'Red' if x <=500 else 'Green')
df.head()

哪个返回:

    A   B   C   D   Colour
0 223 360 133 285 Red
1 300 125 642 238 Red
2 118 293 442 382 Red
3 448 357 55 124 Red
4 995 395 658 559 Green

如果您想使用 .loc 访问整个列,您可以使用 df.loc[:, 'Count'] 您可以阅读有关 .loc 方法的更多信息这里

关于python - 'numpy.float6 4' object has no attribute ' 适用',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55583902/

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