python dataframe索引为什么全是0_python-注意DataFrame和Series中的索引-20170829

pandas是py科学计算中一个常用的包,其中常见的两种数据类型就是DataFrame和Series(两种对象)。

在调用这两个方法的时候,需要注意原索引。

如series_film是一个Series,它的index是从0开始的,values其实就是电影名称:

另一个Series是series_rt,是电影评分

这是两个单独的Series,我们想要将其组合成一个Series,组成的这个Series的索引值是电影名,values是评分

也许你会这样写:

series_custom = pd.Series(series_rt,index=series_film)

但上面的式子是错的,这是由于series_rt是有索引的Series,而且其索引值是0-xx的数值,而你这里的定义的index是电影名称,所以这个组合的Series的值都是nan值。

这里其实是涉及到pandas里面一个索引一致性的概念,在这里不过多展开,但你需要注意,当你调用DataFrame和Series这两种对象时,若原数据本身是有索引值,你重新定义索引值得时候一定需要注意,有时得不到你想要的结果。

所以上面的那个语句只是起到了以原有索引重新排列,新索引会自动填充nan值,

正确的写法,去掉索引的影响:series_custom = pd.Series(series_rt.values,index=series_film)


版权声明:本文为weixin_39552037原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。