Неверная копия. Справочная переменная внутри исходных и неглубококопированных объектов имеет ссылку на общий объект.
Глубинная копия. Справочная переменная внутри оригинальных и глубоко скопированных объектов имеет ссылку на другой объект.
clone всегда делает мелкую копию.
blockquote>public class Language implements Cloneable{ String name; public Language(String name){ this.name=name; } public String getName() { return name; } @Override protected Object clone() throws CloneNotSupportedException { return super.clone(); } }
следующий класс -
public static void main(String args[]) throws ClassNotFoundException, CloneNotSupportedException{ ArrayList<Language> list=new ArrayList<Language>(); list.add(new Language("C")); list.add(new Language("JAVA")); ArrayList<Language> shallow=(ArrayList<Language>) list.clone(); //We used here clone since this always shallow copied. System.out.println(list==shallow); for(int i=0;i<list.size();i++) System.out.println(list.get(i)==shallow.get(i));//true ArrayList<Language> deep=new ArrayList<Language>(); for(Language language:list){ deep.add((Language) language.clone()); } System.out.println(list==deep); for(int i=0;i<list.size();i++) System.out.println(list.get(i)==deep.get(i));//false }
OutPut выше будет -
false true true
false false false
blockquote>Любое изменение, сделанное в исходном объекте, будет отражено в мелком объекте, а не в глубоком объекте.
list.get(0).name="ViSuaLBaSiC"; System.out.println(shallow.get(0).getName()+" "+deep.get(0).getName());
OutPut- ViSuaLBaSiC C
Вы можете использовать nlargest
:
df.apply(lambda x: x.nlargest(25).reset_index(drop=True))
Но я сомневаюсь, что это даст вам много времени честно. Как уже говорилось, вам просто нужно пройти через много данных.