最近在用python做数据挖掘,在聚类的时候遇到了一个非常恶心的问题。话不多说,直接上代码:

 from sklearn.cluster import KMeans
from sklearn.decomposition import PCA
import matplotlib.pyplot as plt
#kmeans算法
df1=df23
kmeans = KMeans(n_clusters=5, random_state=10).fit(df1)
#贴上每个样本对应的簇类别标签
df1['level']=kmeans.labels_
#df1.to_csv('new_df.csv') df2=df1.groupby('level',as_index=False)['level'].agg({'num': np.size})
print(df2.head()) #将用于聚类的数据的特征的维度降至2维
pca = PCA(n_components=2)
new_pca = pd.DataFrame(pca.fit_transform(df1))
print(new_pca.head()) #可视化
d = new_pca[df1['level'] == 0]
plt.plot(d[0], d[1], 'gv')
d = new_pca[df1['level'] == 1]
plt.plot(d[0], d[1], 'ko')
d = new_pca[df1['level'] == 2]
plt.plot(d[0], d[1], 'b*')
d = new_pca[df1['level'] == 3]
plt.plot(d[0], d[1], 'y+')
d = new_pca[df1['level'] == 4]
plt.plot(d[0], d[1], 'c.') plt.title('the result of polymerization')
plt.show()

  错误如下:

  网上找了好久都没找到解决方法,明明之前成功过的。于是我查看了df23数据,发现它是这样的:

与之前成功的dataframe的唯一差别就是索引!!!重要的事情说三遍!!!索引!!!索引!!!于是乎,我去找怎么重置索引的方法,见代码:

 df24=df23[["forks_count","has_issues","has_wiki","open_issues_count","stargazers_count","watchers_count","created_pushed_time","created_updated_time"]]
df24=df24.reset_index()
df24=df24[["forks_count","has_issues","has_wiki","open_issues_count","stargazers_count","watchers_count","created_pushed_time","created_updated_time"]]

  然后聚类就成功了。。。心累。。。。

Unalignable boolean Series provided as indexer (index of the boolean Series and of the indexed object do not match的更多相关文章

  1. pandas之Seris和DataFrame

    pandas是一个强大的python工具包,提供了大量处理数据的函数和方法,用于处理数据和分析数据. 使用pandas之前需要先安装pandas包,并通过import pandas as pd导入. ...

  2. pandas中的Series

    我们使用pandas经常会用到其下面的一个类:Series,那么这个类都有哪些方法呢?另外Series和DataFrame都继承了NDFrame这个类,df.to_sql()这个方法其实就是NDFra ...

  3. [简单]docx4j常用方法小结

    http://53873039oycg.iteye.com/blog/2194479?utm_source=tuicool&utm_medium=referral —————————————— ...

  4. Android Folding View(折叠视图、控件)

    版本号:1.0 日期:2014.4.21 版权:© 2014 kince 转载注明出处 非常早之前看过有人求助以下这个效果是怎样实现的,   也就是側滑菜单的一个折叠效果,事实上关于这个效果的实现,谷 ...

  5. 深入理解Android中ViewGroup

    文章目录   [隐藏] 一.ViewGroup是什么? 二.ViewGroup这个容器 2.1 添加View的算法 2.1.1 我们先来分析addViewInner方法: 2.1.2 addInArr ...

  6. dev简单实现柱状图,曲线图

    1.数据源代码: DataTable dt = new DataTable(); dt.Columns.Add("A"); dt.Columns.Add("B" ...

  7. 【docx4j】docx4j操作docx,实现替换内容、转换pdf、html等操作

    主要是想要用此功插件操作docx,主要的操作就是操作段落等信息,另外,也想实现替换docx的内容,实现根据模板动态生成内容的效果,也想用此插件实现docx转换pdf. word的格式其实可以用xml来 ...

  8. CopyOnWriteList-JDK1.8

    CopyOnWrite,一个写时复制的技术来保证并发操作的安全,使用这种技术的前提是读大于写. 读读之间相容, 写写之间互斥, 读写操作相容. 实现方法: 在对底层数据进行写的时候,把底层数据复制一份 ...

  9. 推荐系统之基于图的推荐:基于随机游走的PersonalRank算法

    转自http://blog.csdn.net/sinat_33741547/article/details/53002524 一 基本概念 基于图的模型是推荐系统中相当重要的一种方法,以下内容的基本思 ...

随机推荐

  1. php中的几个常用的魔术常量

        在php中我们可以自定义常量,同时php中也自定义了一些好用的常量,这些常量会根据其所在的位置而自动变化. 我们称之为魔术常量.魔术常量可以大写也可以小写,是不区分大小写的     __FIL ...

  2. Spring Aware容器感知技术

    Spring Aware是什么 Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源. Spring Aware的分类 几种常用的Aw ...

  3. beta版1.1.2

    此次的beta版本做的修改重点在内部的算法上面. 因为之前所做的判断不重复的随机数方面采用的是String.valueof()的方式,即将int类型数字转换成string类型,比较string中是否出 ...

  4. 20155202 2016-2017-2 《Java程序设计》第7周学习总结

    20155202 2016-2017-2 <Java程序设计>第7周学习总结 教材学习内容总结 世界协调时间:UTC 采用 闰秒修正 Epoch为某特定时代开始,时间轴上某一瞬间 Unix ...

  5. POJ 3468 A Simple Problem with Integers (区间更新+区间查询)

    题目链接 Description You have N integers, A1, A2, ... , AN. You need to deal with two kinds of operation ...

  6. php imagecreatetruecolor()方法报未定义错误解决方法

    更多内容推荐微信公众号,欢迎关注: php练习生成验证码方法时,使用php的 imagecreatetruecolor() 方法 报错 Fatal error: Uncaught Error: Cal ...

  7. std::max 错误

    Today I typed the following: int t = (std::max)(timeout, lagtime); Why did I put parentheses around ...

  8. Servlet笔记3--Servlet生命周期

    Servlet生命周期:

  9. oracle同义词是什么意思?

    相当于alias,比如把user1.table1 在user2中建一个同义词table1create synonym table1 for user1.table1;这样当我们在user2中查sele ...

  10. jQuery Validate自定义金钱验证,是否为金额格式,保留两位小数,并支持千分制货币格式

    //自定义函数实现 isMoney: function (value, element){ // return this.optional(element) || /(^[1-9]([0-9]+)?( ...