Python 如何使用保存数据帧名称的变量引用数据帧?
我有以下数据帧:包,盔甲,剑,弓。每个都有大约100行,每个都有一个id列作为索引,另一个列称为name。这是一个数据帧的简化版本:Python 如何使用保存数据帧名称的变量引用数据帧?,python,pandas,Python,Pandas,我有以下数据帧:包,盔甲,剑,弓。每个都有大约100行,每个都有一个id列作为索引,另一个列称为name。这是一个数据帧的简化版本: pack=pd.DataFrame(columns=['id','name','capacity']).set_index('id') packs.loc[1]=['Small Backpack',15] ... 我的清单包含单词pack,然后是我拥有的pack的id号;装甲这个词和我拥有的装甲的id号,等等 inventory = [ ('pa
pack=pd.DataFrame(columns=['id','name','capacity']).set_index('id')
packs.loc[1]=['Small Backpack',15]
...
我的清单包含单词pack,然后是我拥有的pack的id号;装甲这个词和我拥有的装甲的id号,等等
inventory = [
('pack','1'),
('armor','3'),
('sword','2'),
('bow','1')
]
我正在创建一个函数,该函数将产生如下结果:
pack: Small Backpack
armor: Steel Armor
sword: Wooden Sword
bow: Hardened Bow
在下面的XXXXX点,我需要调用项目的名称,但不知道如何调用
def command_inventory():
for a,b in inventory:
print(a+':',XXXXX)
您可以通过创建一个字典来实现这一点,该字典将库存关键字映射到数据帧,然后我们可以选择列
name
,并根据索引选择值
inventory = [
('pack','1'),
('armor','3'),
('sword','2'),
('bow','1'),
]
df_map = {
'pack': pack,
'armor': armor,
'sword': sword,
'bow': bow,
}
for a, b in inventory:
print(f"{a}: {df_map[a]['name'][int(b)]}")
您可以通过创建一个字典来实现这一点,该字典将库存关键字映射到数据帧,然后我们可以选择列
name
,并根据索引选择值
inventory = [
('pack','1'),
('armor','3'),
('sword','2'),
('bow','1'),
]
df_map = {
'pack': pack,
'armor': armor,
'sword': sword,
'bow': bow,
}
for a, b in inventory:
print(f"{a}: {df_map[a]['name'][int(b)]}")
谢谢,但你误解了。您所写的内容将一次又一次地查询包df。我需要询问背包,然后是盔甲,然后是剑,然后是弓箭。在这种情况下,我们可以有一个dict,它将inventory关键字映射到dataframe。我已经编辑了我的答案@谢谢,但你误解了。您所写的内容将一次又一次地查询包df。我需要询问背包,然后是盔甲,然后是剑,然后是弓箭。在这种情况下,我们可以有一个dict,它将inventory关键字映射到dataframe。我已经编辑了我的答案@安德鲁格拉汉姆