如何将语句结果放入列表中?
how do I put the statement result in a list?
我正在尝试将 'yes' 或 'no' 结果保存到此处命名为离群值的列表中。
这是我的代码
d = {'col1': [1, 2, 3, 4, 5], 'Spread': [10, 10.8, 5.0, 4.9,12.3]}
df = pd.DataFrame(d)
upper_limit = 9
rows = df.index.tolist()
outlier = []
for i in rows:
if df.Spread[i]>upper_limit:
result = print('yes') in outlier
else:
result = print('no') in outlier
我的输出是这样的
yes
yes
no
no
yes
在这个循环之后,如果我打印异常值,它只会 return 到一个空列表。
这个阶段我做错了什么?
如何在列表中保存 'yes' 或 'no' 结果?
提前致谢!
已更新!
print()
用于在屏幕上显示文本 - 而不是 return 变量的值。
但通常 displaying on screen
被称为 "returning data"
,这可能会产生误导。
您只需要 result = "yes"
和 result = "no"
。
你需要在 outlier.append(result)
行中缩进更小
outlier = []
for i in rows:
# if/else
if df.Spread[i] > upper_limit:
result = 'yes'
else:
result = 'no'
# after if/else
outlier.append(result)
或者直接添加
outlier = []
for i in rows:
# if/else
if df.Spread[i] > upper_limit:
outlier.append('yes')
else:
outlier.append('no')
# after if/else
# ... nothing ...
我正在尝试将 'yes' 或 'no' 结果保存到此处命名为离群值的列表中。
这是我的代码
d = {'col1': [1, 2, 3, 4, 5], 'Spread': [10, 10.8, 5.0, 4.9,12.3]}
df = pd.DataFrame(d)
upper_limit = 9
rows = df.index.tolist()
outlier = []
for i in rows:
if df.Spread[i]>upper_limit:
result = print('yes') in outlier
else:
result = print('no') in outlier
我的输出是这样的
yes
yes
no
no
yes
在这个循环之后,如果我打印异常值,它只会 return 到一个空列表。 这个阶段我做错了什么? 如何在列表中保存 'yes' 或 'no' 结果?
提前致谢!
已更新!
print()
用于在屏幕上显示文本 - 而不是 return 变量的值。
但通常 displaying on screen
被称为 "returning data"
,这可能会产生误导。
您只需要 result = "yes"
和 result = "no"
。
你需要在 outlier.append(result)
outlier = []
for i in rows:
# if/else
if df.Spread[i] > upper_limit:
result = 'yes'
else:
result = 'no'
# after if/else
outlier.append(result)
或者直接添加
outlier = []
for i in rows:
# if/else
if df.Spread[i] > upper_limit:
outlier.append('yes')
else:
outlier.append('no')
# after if/else
# ... nothing ...