編碼:s = pd.DataFrame(df)print(s.head(3))print(s.loc[s.Product=='A'])輸出: Product Sales Date --------------------------------------------------------------------- 0 A 20 2017-5-16 1 A 60 2016-6-16 2 A 30 2015-6-16Empty DataFrameColumns: [Product, Sales, Date]Index: [ ]為什么在這種情況下數(shù)據(jù)幀為空?該iloc功能運(yùn)行完美,但是很麻煩,我不想將其用于具有31,000個數(shù)據(jù)點(diǎn)的185種產(chǎn)品。是的,產(chǎn)品名稱在右邊輸入。我也嘗試了isin引發(fā)相同錯誤的函數(shù)。注意:類型為Series,但我將其轉(zhuǎn)換為DataFrame。但是,即使在轉(zhuǎn)換之后,它仍顯示類型為Series。這可能是關(guān)于錯誤之處的關(guān)鍵見解。
2 回答

月關(guān)寶盒
TA貢獻(xiàn)1772條經(jīng)驗(yàn) 獲得超5個贊
要消除空格,請嘗試:
s['Product'] = s['Product'].str.replace('\s+','')
一旦這樣做,s[s['Product'] == 'A']
應(yīng)該給你一些東西。
或者,如果要將空格保留在原始數(shù)據(jù)框中,則可以有另一列:
s['Product_nospace'] = s['Product'].str.replace('\s+','')
并從那里進(jìn)行所有過濾。完成后,您可以刪除該列:
s.drop(columns=['Product_nospace'], inplace=True)

茅侃侃
TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個贊
按照文檔操作,嘗試以下代碼段:
print(s.loc[s['Product']=='A'])
我不知道是否s.Product
可行!
希望這會有所幫助。