В intellij вы можете автоматически генерировать метод toString, нажимая alt + inset, а затем выбрав toString () здесь - это выход для тестового класса:
public class test {
int a;
char b;
String c;
Test2 test2;
@Override
public String toString() {
return "test{" +
"a=" + a +
", b=" + b +
", c='" + c + '\'' +
", test2=" + test2 +
'}';
}
}
Как вы можете видеть, он генерирует String путем конкатенации нескольких атрибутов класса, для примитивов он будет печатать свои значения, а для ссылочных типов он будет использовать свой тип класса (в этом случае - метод string из Test2).
Я считаю, что вы можете использовать метод append
bigdata = data1.append(data2, ignore_index=True)
, чтобы их индексы просто не использовали ключевое слово ignore_index
...
Есть еще одно решение для случая, когда вы работаете с большими данными и необходимо объединить несколько наборов данных. concat
может потребовать повышения производительности, поэтому, если вы не хотите создавать новый df каждый раз, вы можете вместо этого использовать понимание списка:
frames = [ process_file(f) for f in dataset_files ]
result = pd.append(frames)
(как указано здесь в документе docs в нижней части раздела):
Примечание. Однако стоит отметить, что
blockquote>concat
(и, следовательно,append
) делает полную копию данных, и что постоянное повторное использование этой функции может создать значительный успех. Если вам нужно использовать операцию над несколькими наборами данных, используйте понимание списка.
Вы также можете использовать pd.concat
, что особенно полезно, если вы объединяете более двух кадров данных:
bigdata = pd.concat([data1, data2], ignore_index=True)
Мысль добавить это здесь, если кто-то сочтет это полезным. @ostrokach уже упоминал, как вы можете объединить кадры данных между строками, которые являются
df_row_merged = pd.concat([df_a, df_b], ignore_index=True)
. Чтобы объединить столбцы, вы можете использовать следующий синтаксис:
df_col_merged =pd.concat([df_a, df_b], axis=1)