Python 从pivot_表中删除一列以更改分组逻辑
我有一个Python 从pivot_表中删除一列以更改分组逻辑,python,python-2.7,pandas,Python,Python 2.7,Pandas,我有一个dataframe: df = GROUP HOUR TOTAL_SERVICE_TIME TOTAL_WAIT_TIME IS_EVALUATED IS_NEGATIVE_GRADE AAA 7 24 32 0 0 AAA 7 23 30 1 0 AAA 8 25
dataframe
:
df =
GROUP HOUR TOTAL_SERVICE_TIME TOTAL_WAIT_TIME IS_EVALUATED IS_NEGATIVE_GRADE
AAA 7 24 32 0 0
AAA 7 23 30 1 0
AAA 8 25 31 1 1
BBB 7 26 33 1 0
BBB 8 27 31 1 0
我想调整下面给定的代码,使其仅按GROUP
对数据进行分组。我不想使用列HOUR
。我想知道我是否可以使用pivot\u table
而不使用HOUR
,这样数据只按GROUP
分组,而忽略HOUR
piv_df = df.pivot_table(index='GROUP', columns='HOUR', fill_value=0).stack()
avg_tot = piv_df[['TOTAL_SERVICE_TIME', 'TOTAL_WAIT_TIME']].add_prefix("AVG_")
avg_pct1 = piv_df['IS_EVALUATED'].mul(100).astype(int)
avg_pct2 = piv_df['IS_NEGATIVE_GRADE'].mul(100).astype(int)
fresult = avg_tot.join(avg_pct1.to_frame("AVG_PERCENT_EVAL_1")).join(avg_pct2.to_frame("AVG_PERCENT_NEGATIVE")).reset_index()
如果没有
columns='Hour'
,则不再需要stack
piv_df = df.pivot_table(index='GROUP', fill_value=0)
avg_tot = piv_df[['TOTAL_SERVICE_TIME', 'TOTAL_WAIT_TIME']].add_prefix("AVG_")
avg_pct1 = piv_df['IS_EVALUATED'].mul(100).astype(int)
avg_pct2 = piv_df['IS_NEGATIVE_GRADE'].mul(100).astype(int)
fresult = avg_tot.join(avg_pct1.to_frame("AVG_PERCENT_EVAL_1")).join(avg_pct2.to_frame("AVG_PERCENT_NEGATIVE")).reset_index()
fresult
数据请@皮尔斯:好的,等一下。我认为这个问题可能不需要数据。@piRSquared:我发布了数据。它可能不需要。。。通常,问题并不重要。然而,这有助于我们这些回答问题的人摆脱困惑。没有它,我不得不想太多,弄明白你想做什么。如果我遇到问题,我必须弄清楚这是否是因为我对数据做出了错误的假设。所以,也许它是需要的,也许它不是。但是如果你想最大限度地让你的问题得到回答。。。最好提供它。