我的问题似乎与其他一些问题类似,但我找不到适合我的确切问题的问题,所以如果我没有遇到这个特定的答案(如果它已经存在),我深表歉意。 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 层列表。我最初将其视为循环问题,但不确定如何通过检查“名称”列,找到它所在的层列表,然后将层分配给新专栏。我见过类似的问题,人们使用字典而不是列表,所以我将我的层列表转换成字典,如下所示:
pd.iterrows()
但是我意识到大多数示例都使用与字典中的键匹配的列变量,然后将值分配给该列,但在我的情况下,我想将键分配为新的列值,这就是我当前的位置是。谢谢您的帮助!