2017-10-16 163 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