使用dataframe.get进行查找

时间:2017-06-11 11:52:55

标签: pandas dataframe

我有一个包含曲目ID的列表tids。我要在数据框res上查找这些轨道ID,然后给我一个轨道标题列表。

我的代码基于此处给出的代码:Look up and replace values in a list (pandas)

但它只是让我再次回到赛道ID。

然后我尝试调整下面的代码,但是这让我回到了列表中的一个字典(所以最后的print [0]似乎返回了所有内容)。我当然可以用这个来提取音轨标题,但是想知道我的做法我做错了什么?

def convertTrackIDToTrackName(dbPath, tids):
    con = sqlite3.connect(dbPath)
    sqlStr = "SELECT track_id, title from songs"

    # Load into Pandas
    res = pd.read_sql_query(sqlStr, con)
    con.close()
    res = res.set_index('track_id')


    z_new = [res.get('title',t) for t in tids]
    print (z_new[0])

1 个答案:

答案 0 :(得分:1)

使用pd.Seriesmaptolist

s = pd.Series(tids).map(res['title']).tolist()