首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫数据:如何在没有机器学习的情况下按价值观聚在一起?

熊猫数据:如何在没有机器学习的情况下按价值观聚在一起?
EN

Stack Overflow用户
提问于 2016-06-29 00:04:58
回答 1查看 4K关注 0票数 0

我有下面的熊猫DataFrame。

代码语言:javascript
运行
复制
import pandas as pd
df = pd.read_csv('filename.csv')

print(df)

      A       B         C           D
0     2       0         11          0.053095
1     2       0         11          0.059815
2     0       35        11          0.055268
3     0       35        11          0.054573
4     0       1         11          0.054081
5     0       2         11          0.054426
6     0       1         11          0.054426
7     0       1         11          0.054426
8     42      7         3           0.048208
9     42      7         3           0.050765
10    42      7         3           0.05325

    ....

问题是,数据自然是“集群”成组的,但是没有给出这些数据。从以上情况来看,行0-1是一个组,第2-3行是一个组,第4-7行是一个组,8-10行是一个组。

我得把这个信息归给你。一个人可以利用机器学习,然而,它是否有可能做到这只使用熊猫?

用户可以根据列的值来创建这些组吗?问题是数值不精确。对于第三个组,列B有组1、2、1、1。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-29 01:09:50

一个纯熊猫的解决方案将涉及绑定,假设你们的值彼此接近,而且你们的垃圾箱大小足够大,可以进行集群变化,但小于集群值之间的距离。答案取决于你的数据。

二进制方法在熊猫中使用cut函数。您提供了一个系列(或数组)和函数想要的回收箱数。该函数将系列的范围均匀地细分为给定数量的回收箱,并确定输入中的每个值落在何处。下面一组列的输出将是值落在哪个文件夹中,并将是您可以按照原始思路分组的内容。

对于大小为5的垃圾箱来说,实际情况是这样的

代码语言:javascript
运行
复制
for col in df.columns:
   binned_name = col + '_binned'
   num_bins = np.ceil(df[col].max()/5)
   df[binned_name] = pd.cut(df[col],num_bins,labels=False)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38088200

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档