我有这个列表的列表= [['迷失的召唤师凯蒂',70],['铁缚',4000]]我还有这个 Dataframe :
我希望找到一种通用方法,用前面列表中的用户名替换item_id integer
cetgtptt1#
将列表的列表转换成一个字典,其中ID是键,然后在pandas.Series.map()中使用它来转换item_id列。
pandas.Series.map()
item_id
mapping = dict(map(reversed, list_of_lists)) df.item_id = df.item_id.map(mapping)
igsr9ssn2#
您可以从list创建dict,然后在创建的dict上使用pandas.Series.map。
list
dict
pandas.Series.map
lst = [['Lost Summoner Kitty', 70], ['Ironbound', 4000]] dct = {num: entry for entry, num in lst} # dct -> {70: 'Lost Summoner Kitty', 4000: 'Ironbound'} df['item_id'] = df['item_id'].map(dct)
4ioopgfo3#
您可以使用map:
map
df['item_name'] = [dict([l[::-1] for l in lists]).get(i, None) for i in df['item_id']]
输出:
print(df) steam_id item_id item_name 0 XXX 70 Lost Summoner Kitty 1 YYY 4000 Ironbound
3条答案
按热度按时间cetgtptt1#
将列表的列表转换成一个字典,其中ID是键,然后在
pandas.Series.map()
中使用它来转换item_id
列。igsr9ssn2#
您可以从
list
创建dict
,然后在创建的dict
上使用pandas.Series.map
。4ioopgfo3#
您可以使用
map
:输出: