简体   繁体   中英

Creating new data frame from old dataframe

I want to create a new dataframe having only those rows which has name in the Image_list . Original df has records more than 200,000 whereas Image_list has only 300 list of image names.

for name in Image_list:
    df1= df.loc[df['ID']== name]
    print(df1)
    Final_data.append(df1)

Final_data.shape

'ID' column contains much more than Image_list , for example

['Black_Hair',
 'Eyeglasses',
 'Male',
 'Smiling',
 'Straight_Hair',
 'Wearing_Earrings',
 'Wearing_Necktie']

You would need to assign the new data to the existing df Final_data . Also, the method df.append() is deprecated. Should use pd.concat() instead

import pandas as pd

Final_data = pd.DataFrame()

for name in Image_list:
    df1 = df[df['ID']==name]
    print(df1.shape)
    Final_data = pd.concat([Final_data, df1])

print(Final_data.shape)

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM