我的报错原因是错误用df.iloc() 作df.iloc[]
d = {'id':[1,1,2,3,3,4,3,4,1,5],'product':['p2','p1','p3','p2','p1','p3','p4','p5','p6','p5']}
df = pd.DataFrame.from_dict(d)
df
df.iloc(2) # it should be df.iloc[2],not df.iloc(2)!
ValueError: No axis named 2 for object type DataFrame
df.iloc[2] # correct code! df[2] error!
df[2:3] # 展示index=2的行,但如果index==end就会报错
df[2:3] == df.iloc[2:3] # 这2种方式展示结果完全一样,完全按下标的方式来取第二行
df.loc[2:7] # 取index=0->7列
df[2:3]['product'] * 2 # df[2:3]['product'] * 2 == df.iloc[2:3]['product'] * 2
df.iloc[2]['product'] * 2 # 可单独拿出字符串,所以相比[],推荐多用iloc
‘p3p3’