2017-10-16 101 views
1

我讀從文件此框架:Python的大熊貓 - 添加行到一個空的數據幀

df = pd.read_csv('playlist.csv') 

'track'列獲取的所有值:

tracks = df['track'].tolist() 

然後我有一個new_df具有相同列的順序爲'playlist.csv'

new_df = pd.DataFrame(columns=['artist','track', 'value']) 

和,鑑於other_tracks = ['Once', 'Jeremy'],我會以一些軌道的整個行添加到new_df

for track in tracks: 
    if track in other_tracks: 
     row = df[df['track']==track] 

我該怎麼辦呢?

有沒有一個簡單的方法來做到這一點?

回答

2

IIUC你不需要循環,你可以簡單地使用布爾索引:

new_df = df.loc[df['track'].isin(other_tracks)] 
+1

這裏有一點要注意的是,'tracks'應該只包含過濾的軌道。 –

+0

@cᴏʟᴅsᴘᴇᴇᴅ,好點 - 謝謝! – MaxU

+0

我編輯了我的問題,因爲我需要使用條件。你能否在你的回答中考慮一下? – outkast