【发布时间】:2021-05-19 16:18:45
【问题描述】:
for i in df.Revenue:
if df.Revenue.index(i) <= df.Revenue.mean():
df.Revenue.index(i) = 0
else:
df.Revenue.index(i) = 1
print(df.Revenue)
语法错误是:不能分配给函数调用
【问题讨论】:
-
你认为
df.Revenue.index(i) = 0在做什么? -
它只是将索引的值替换为0不是吗?
-
不,这不是 Python 的工作方式;你不能给函数调用的结果赋值,比如
foo(bar) = 1——这是无效的。您可以为可索引对象的索引分配一个值,例如foo_list[bar] = 1。 -
好的。谢谢你帮了很多忙
-
df['Revenue'] = df['Revenue'].le(df['Revenue'].mean()).astype(int)