Pivoting / Reshaping Dataframe в Pyspark Динамически [дублировать]

Я думаю, вы хотите переопределить операцию нажатия кнопки «домой». Вы можете переопределить эту функциональность, как это в своей деятельности.

@Override
public boolean onOptionsItemSelected(MenuItem item) {
    switch (item.getItemId()) {
    case android.R.id.home:
        Toast.makeText(getApplicationContext(),"Back button clicked", Toast.LENGTH_SHORT).show(); 
        break;
    }
    return true;
}
3
задан Mèhdi Ben Hamida 27 September 2017 в 16:38
поделиться

1 ответ

Если данные достаточно малы, чтобы их можно было транспонировать (они не были скопированы с помощью агрегации), вы можете просто преобразовать их в Pandas DataFrame:

df = sc.parallelize([
    ("f1", 0.0, 0.6, 0.5),
    ("f2", 0.6, 0.7, 0.9)]).toDF(["s", "col_1", "col_2", "col_3"])

df.toPandas().set_index("s").transpose()
s       f1   f2
col_1  0.0  0.6
col_2  0.6  0.7
col_3  0.5  0.9

Если для этого достаточно больших, Spark не будет Помогите. Spark DataFrame распределяет данные по строке (хотя локально использует хранилище столбцов), поэтому размер отдельных строк ограничен локальной памятью.

6
ответ дан user8371915 15 August 2018 в 21:50
поделиться
  • 1
    Возможно, вы захотите сбросить индекс, прежде чем преобразовать его обратно в Spark Dataframe, чтобы не потерять имена столбцов в строках. Вы можете сделать это, используя команду 'reset_index'. Например: df.toPandas (). Set_index («s»). Transpose (). Reset_index () – lfvv 11 June 2018 в 20:00
  • 2
    Как мы можем снова преобразовать результат в dataframe? – Aspirant 2 August 2018 в 11:07
  • 3
    @ Аспирант spark.createDataFrame(result) – user8371915 2 August 2018 в 11:08
Другие вопросы по тегам:

Похожие вопросы: