为何调用.loc()函数查询后返回空Series?
为啥
basic_data.loc[2:61, 'v_00']返回空Series? 大概率是这几个原因,对应解决方式也给你列出来:
你的DataFrame索引不是连续整数,或者根本没有2到61这些标签
loc是按**标签(也就是索引值)**切片的,不是按行的位置数。如果你的basic_data索引不是默认的0、1、2...连续整数,或者索引里最大的数都不到2,那自然查不到内容。
先跑一行basic_data.index看看当前索引到底是什么,确认有没有2到61这些值。索引是降序排列的
如果你的索引是从大到小排的(比如61、60...2、1、0),那2:61这种起始标签比结束标签小的切片,就会返回空。这种情况要么改成61:2,要么先跑basic_data.sort_index()把索引升序排好再切片。要是你本来就想按行的位置取第2到第61行(注意行位置从0开始数),那别用
loc,用iloc:
# 取第2到第61行的v_00列 basic_data['v_00'].iloc[2:62]
内容的提问来源于stack exchange,提问作者Dontturnaway
相关产品推荐
相关产品推荐

