作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个包含很多列的表(数据框)。现在我想对其中一列的平均值进行计算。这意味着我需要对所有列进行分组,但我需要对其进行平均的列除外。我当然可以写:
df.groupby(['col1', 'col2', 'col3', 'col4', 'col5'])['vals'].mean()
但如果我能做这样的事情就好了:
df.groupby(['col6'], something='reverse')['vals'].mean()
在 Pandas 中有可能吗?
最佳答案
您正在搜索手头列表的补充列。您可以使用 df.columns
。它表示一个允许进行一些有趣操作的 Index
对象。
df.columns.drop(['col6'])
返回一个 Index
,其中作为参数传递的列列表已删除。您可以将其转换为列表并将其用作 groupby
参数:
df.groupby(df.columns.drop(['col6']).tolist())['vals'].mean()
关于python - pandas 操作是否与 groupby 互补(相反)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16808682/
我目前使用 stat_ecdf 来绘制累积频率图。 这是我使用的代码 cumu_plot <- ggplot(house_total_year, aes(download_speed, col
我有一个包含很多列的表(数据框)。现在我想对其中一列的平均值进行计算。这意味着我需要对所有列进行分组,但我需要对其进行平均的列除外。我当然可以写: df.groupby(['col1', 'col2'
我是一名优秀的程序员,十分优秀!