如何使用单个aggfunc格式化多个值的pivot_table输出。多个值应该并排出现
数据框是:
kpi_date ssaname bts_name call_volume call_drop
0 2015-09-01 Bangalore 1002_NUc_Marathalli 8962 0.62
1 2015-09-03 Bangalore 1002_NUc_Marathalli 6567 1.19
2 2015-09-02 Bangalore 1002_NUc_Marathalli 7033 0.63
3 2015-09-01 Bangalore 1003_IU2_Munnekolalu 4659 1.17
4 2015-09-02 Bangalore 1003_IU2_Munnekolalu 6671 0.46
我希望输出为:
2015-09-01 2015-09-02
bts_name, call_volume call_drop call_volume call_drop
使用pivot_table
答案 0 :(得分:0)
您可以使用groupby或pivot_table函数来聚合call_volume和call_drop。
# Method 1: Using pivot_table
pd.pivot_table(df,index=["kpi_date","bts_name"],aggfunc=np.average)
# Method 2: Using groupby
df.groupby(["kpi_date", "bts_name"]).agg({"call_volume": np.average, "call_drop": np.average})
kpi_date bts_name call_drop call_volume
9/1/2015 1002_NUc_Marathalli 0.62 8962
1003_IU2_Munnekolalu 1.17 4659
9/2/2015 1002_NUc_Marathalli 0.63 7033
1003_IU2_Munnekolalu 0.46 6671
9/3/2015 1002_NUc_Marathalli 1.19 6567
以下是将kpi_date
作为列
# Python code
df.pivot_table(['call_volume', 'call_drop'], ['bts_name'], 'kpi_date')
call_volume call_drop
kpi_date 9/1/2015 9/2/2015 9/3/2015 9/1/2015 9/2/2015 9/3/2015
bts_name
1002_NUc_Marathalli 8962 7033 6567 0.62 0.63 1.19
1003_IU2_Munnekolalu 4659 6671 NaN 1.17 0.46 NaN
答案 1 :(得分:0)
这是你在找什么?注意:我将您的列重命名为' call_v'和' call_d'更容易打印。
new Response.ErrorListener() {
@Override
public void onErrorResponse(VolleyError error) {
error.printStackTrace();
Log.e("VOLLEY ERROR", "" + error.toString());
}
}
基本上这是聚合后堆叠和取消堆栈的问题。