我是数据分析新手,我正在尝试在 python 中创建 3 个 bin 的输出。我将在下面附上我的代码。我得到了一个输出,但它不在 3 个容器中。垃圾箱如下:
问题:该函数必须迭代score_list中的分数并将它们分入三个分箱: 负面(分数为 1-5) 中性(分数为 6-8) 积极(9-10 分)
# Define a function score_counter
score_list = [1,2,3,4,5,6,7,8,9,10]
for score_counter in range(1, 11):
if score_counter <= (5):
print('Negative: ' + str(score_counter))
elif score_counter == (6):
print('Neutral: ' + str(score_counter))
elif score_counter == (7):
print('Neutral: ' + str(score_counter))
elif score_counter == (8):
print('Neutral: ' + str(score_counter))
else:
print('Positive: '+ str(score_counter))
print()
我认为您应该创建三个列表
negative = []
neutral = []
positive = []
并使用 for
循环到 append()
值来更正列表。稍后您可以使用 len()
来计算每个列表。
score_list = [1,2,3,4,5,6,7,8,9,10]
negative = []
neutral = []
positive = []
for item in score_list:
if 1 <= item <= 5:
negative.append(item)
elif 6 <= item <= 8:
neutral.append(item)
elif 9 <= item <= 10:
positive.append(item)
print(negative, neutral, positive)
print(len(negative), len(neutral), len(positive))
还可以减少
if/elif/else
for item in score_list:
if item <= 5:
negative.append(item)
elif item <= 8:
neutral.append(item)
else:
positive.append(item)
结果:
[1, 2, 3, 4, 5] [6, 7, 8] [9, 10]
5 3 2