【发布时间】:2018-11-27 14:41:39
【问题描述】:
我正在尝试将数值分组并分配给具有以下值的“邻居”列:#Queens#Jackson Heights#、#Manhattan#Upper East Side#Sutton Place#、#Brooklyn#Williamsburg#、#Bronx#东布朗克斯#Throgs Neck#。 (值有 2,3 有时有 4,5 个标签) 我使用了正常的 if else 循环,它对前 3 个值运行良好,如附图所示。 但我不确定它是否工作正常。请帮我对这些组进行分组和赋值。 [我使用的 if else 循环如下: *
*# Create a list to store the data
grades = []
# For each row in the column,
for row in new_train1['neighborhood']:
# if more than a value,
if row > '#Queens#':
# Append a num grade
grades.append('1')
# else, if more than a value,
elif row > '#Manhattan#':
# Append a letter grade
grades.append('2')
# else, if more than a value,
elif row > '#Bronx#':
# Append a letter grade
grades.append('3')
# else, if more than a value,
elif row > '#Brooklyn#':
# Append a letter grade
grades.append('4')
# else, if more than a value,
else:
# Append a failing grade
grades.append('0')
【问题讨论】:
-
您的问题不清楚。你的输入和预期输出是什么?请提供minimal reproducible example。
-
进一步,你所说的行是什么意思>'#Manhattan'?不知道你怎么能这样调节。
-
您想为皇后区、曼哈顿区、布朗克斯区和布鲁克林区的集合分配一个代码?他们能保证永远是第一吗?
-
@Rucha:如果我理解正确,首先你必须将
str拆分为# -
@Kyle 是的,值总是显示为给定的.. #Queens,#Manhattan..,#Bronx.. 此外,输入是具有上述值的列邻域,我想分配数值(例如,所有以#Queens 开头的区域都应具有值“1”,所有以#Manhattan.. 开头的区域都应具有“2”,#Bronx..= 4)
标签: python-3.x pandas group-by scikit-learn one-hot-encoding