1
我有一個表,看起來像這樣:在Pandas/iPython筆記本(Jupyter)的DataFrame /表中的GROUP BY行?
當前數據幀/表:「original_table」
col_1 col_2 col_3
0 Non-Saved www.google.com 10
1 Non-Saved www.facebook.com 20
2 Non-Saved www.linkedin.com 20
3 Saved www.Quora.com 30
4 Saved www.gmail.com 40
我可以導出表,如下面的使用SQL查詢?
col_1 col_2 col_3
0 Non-Saved www.google.com 50
www.facebook.com
www.linkedin.com
1 Saved www.Quora.com 70
www.gmail.com
基本上我期待一個表具有從COL_1 DISTINCT值,從COL_2和SUM(col_3),用於在一排從col_3對應值的所有的對應值。
我的查詢:
sql("""SELECT col_1, group_concat(col_2) as col_2, SUM(col_3) as col_3
FROM original_table
GROUP BY col_1
""").show()
我嘗試用group_concat使用嵌入的SQL查詢,但它給了我下面的錯誤:
AnalysisException: u"Undefined function: 'GROUP_CONCAT'. This function
is neither a registered temporary function nor a permanent function
registered in the database 'default'.
任何人都可以請幫我可能是一個簡單的黑客?
'DF [ 'col_3'] = df.groupby( 'COL_1')[ 'col_3']變換( '總和')' 給我: 'COL_1 \t COL_2 \t col_3 \t非保存\t \t www.google.com 102020 \t非保存\t \t www.facebook.com 102020 \t非保存\t \t www.linkedin.com 102 020 \t \t保存www.Quora.com \t \t保存www.gmail.com \t 3040' –
必須先轉換柱3至數等'DF [ 'col_3'] = DF [ 'col_3']。astype (int)' – jezrael
現在有效。在這種情況下是否有可能在2行中得到結果? 謝謝! –