我试图根据另一列的binning对一列值求和
df = pd.read_csv("data_file.csv", na_values=' ')
hincp = df.HINCP.dropna()
grouping = pd.qcut(hincp, 3, labels=["low", "medium", "high"])
我想根据“低”、“中”和“高”存储箱对另一列df['WGTP']
的值求和,并显示每个存储箱的计数。像这样:
WGTP_count
low 12300
medium 3455
high 65500
(假设数字)我会使用groupby吗?价值计算?我真的不知道该怎么办
我使代码更通用,以便为其他人服务,我将让您调整列名以匹配您的示例:
to_bins
是使用.qcut
创建分位数的列to_sum
是要基于分位数求和的值初始df:
输出:
使用
qcut
创建分位数并分配给bins
列:输出:
根据这些容器求和值(
.reset_index()
用于将groupby的输出转换回数据帧,如果需要,您可以进一步操作该数据帧):输出:
相关问题 更多 >
编程相关推荐