似乎我的问题和其他几个类似,但我找不到一个适合我确切的问题,所以道歉,如果我没有遇到这个特定的答案,如果它已经存在.This个问题有点类似,但我不想分配一个列表作为新的列值,我想分配相应列表的名称作为列值.
例如,使用如下数据框:
d = {'name': ['Tom', 'Patrick', 'Lamar'], 'rating': [100, 97, 95]}
df = pd.DataFrame(data=d)
print(df)
以及如下列表的集合:
tier1 = ['Tom', 'Patrick']
tier2 = ['Lamar']
如何有效地创建一个新的"层"列,如以下所示:
d = {'name': ['Tom', 'Patrick', 'Lamar'], 'rating': [100, 97, 95], 'tier': [1, 1, 2]}
df = pd.DataFrame(data=d)
print(df)
我的实际数据库有300行,我有11层列表.我最初将此作为一个循环问题来处理,但不确定如何通过判断'name'列,找到它所在的层列表,然后将层分配给新列,来循环使用pd.iterrows()
的rabrame的行.我见过类似的问题,人们使用字典而不是列表,所以我把我的层次列表转换成一个字典,如下所示:
tier_dict = {
1: tier1,
2: tier2
}
print(tier_dict)
但我意识到,大多数示例都使用了COLUMN变量来匹配DICT中的键,然后将该值赋给该列,但在我的示例中,我想将该键赋值为新的列值,这就是我当前所在的位置谢谢你的帮助!