0
所以我有酒數據熊貓據幀索引,其中
wines_dict = {
'Appellation': list(wine_appellations),
'Ratings': list(wine_ratings),
'Region': list(wine_regions),
'Name': list(wine_names),
'Varietal': list(wine_varietals),
'WineType': list(wine_wine_types),
'RetailPrice': list(wine_retail_prices)
}
wines_df = pd.DataFrame(
data = wines_dict,
columns =[
'Region',
'Ratings',
'Appellation',
'Name',
'Varietal',
'WineType',
'RetailPrice'
]
)
的數據幀我試圖用wines_df.where((wines_df['Ratings'] > 95) & (~pd.isnull(wines_df['Ratings'])))
切,但它仍然是返回回NaN
評級。
0 NaN
1 NaN
2 NaN
3 NaN
4 97.0
5 98.0
6 NaN
我該如何切片,以便它返回大於95的所有非空值?
不要使用'where'。使用'wines_df [...]'來代替子集。 –
爲什麼不用在哪裏?我很困惑。呵呵拿出'.where'解決了這個問題。但是關於where()的文檔http://pandas.pydata.org/pandas-docs/stable/indexing.html表明它需要一個布爾標準....所以它應該工作不應該嗎? –
因爲不滿足布爾值掩碼的條件會導致'np.nan',從而返回與原始形狀相同的'DF'。 'where'&'mask'的目的不是用於切片/子集。 –