python - 按新列分组而不添加它
问题描述
有没有办法df
按系列对数据框进行分组s
而不首先添加?s
df
我问的原因是因为
df.assign(bin=pd.cut(df[what],n)).groupby('bin')
似乎创建了一个完整的副本,有时需要太多的内存。
解决方案
你可以做
df.groupby(pd.Serise(pd.cut(df[what],n),index=df.index))
更多信息
df.groupby(pd.Series(pd.cut(df.c1,3),index=df.index)).sum()
Out[156]:
c1 c2 c3
c1
(0.994, 3.0] 6 13 13
(3.0, 5.0] 0 0 0
(5.0, 7.0] 13 10 7
df
Out[154]:
c1 c2 c3
0 7 5 2
1 1 2 2
2 3 4 3
3 1 4 6
4 1 3 2
5 6 5 5
推荐阅读
- c# - InMemoryDbContext 在种子后不存在,控制器中的集合始终为空
- apache-kafka - 我可以编写一些 bash 命令管道来读取 kafka 主题、反序列化 protobuf 内容并将其写入终端吗?
- java - Java Jersey/Jackson:返回动态 JSON 属性
- python - python中HAS-A关系类的函数(self,source)中源的用法是否有解释?
- ios - 是否可以将 Svelte/Sapper 应用程序转换为 Cordova
- powershell - Pin To Taskbar hack:在 1903 年再次被破坏
- jquery - 使用特殊字符解析 JSON 字符串时出现问题
- ios - WKWebView 最大缓存对象大小
- ios - 链接后 Delphi 从编译文件夹中删除 iOS64 二进制文件
- sql - 如何为时间范围内的平均值定义 sql 查询