raw=pd.read_csv('raw_6_12_8_30.csv')
raw2=raw.loc[raw['spices'].isnull()==False] # code for deleting 10 values #
b=[]
for i in range(len(raw2)):
if raw2['Status'][i]==0: # codes didn't run perfectly#
print(i)
但是当我不使用第2行使用此代码时,它就可以正常工作。
raw=pd.read_csv('raw_6_12_8_30.csv')
b=[]
for i in range(len(raw)):
if raw['Status'][i]==0:
print(i)
我检查了raw2 ['Status]和raw ['Status']中是否没有错误
但是每当我使用pandas.loc
时,都会出现错误。
我敢打赌第二行出错,但我不知道为什么?
错误图片在这里 enter image description here
键错误11#是什么#
答案 0 :(得分:1)
通过索引从数据框中获取值的方法有3种。
loc 从索引中获取带有特定标签的行(或列)。
iloc 获取索引中特定位置的行(或列)(因此它只使用整数)。
ix 通常试图表现得像loc,但是如果索引中不存在标签,则会退回到iloc的行为。
如果要通过索引获取值,则可以使用iloc。就像下面的代码一样
raw=pd.read_csv('raw_6_12_8_30.csv')
b=[]
for i in range(len(raw)):
if raw['Status'].iloc[i]==0:
print(i)
答案 1 :(得分:0)
您可以尝试:
for i in range(0,len(raw)-1):
我猜测键错误11是由于索引范围引起的。键11可能不在范围内。
答案 2 :(得分:0)
您是否要删除spices
是null
的所有行?
raw.dropna(subset="spices", inplace=True)
要在状态为0的情况下打印:
raw_subset = raw[raw["Status"]==0]
print(raw_subset)
# To get the specific indices
print(raw_subset.index)