不应为空的数据框为空

编码:


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-16


Empty DataFrame

Columns: [Product, Sales, Date]

Index: [ ]

为什么在这种情况下数据帧为空?该iloc功能运行完美,但是很麻烦,我不想将其用于具有31,000个数据点的185种产品。是的,产品名称在右边输入。我也尝试了isin引发相同错误的函数。


注意:类型为Series,但我将其转换为DataFrame。但是,即使在转换之后,它仍显示类型为Series。这可能是关于错误之处的关键见解。


回首忆惘然
浏览 168回答 2
2回答

月关宝盒

要消除空格,请尝试:s['Product'] = s['Product'].str.replace('\s+','')一旦这样做,s[s['Product'] == 'A']应该给你一些东西。或者,如果要将空格保留在原始数据框中,则可以有另一列:s['Product_nospace'] = s['Product'].str.replace('\s+','')并从那里进行所有过滤。完成后,您可以删除该列:s.drop(columns=['Product_nospace'], inplace=True)

茅侃侃

按照文档操作,尝试以下代码段:print(s.loc[s['Product']=='A'])我不知道是否s.Product可行!希望这会有所帮助。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python