Python 熊猫数据帧索引,其中
所以我有一个葡萄酒数据的数据框架Python 熊猫数据帧索引,其中,python,pandas,Python,Pandas,所以我有一个葡萄酒数据的数据框架 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(wi
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.wherewines_df['Ratings']>95&~pd.isnullwines_df['Ratings']对其进行切片,但它仍在返回NaN评级
0 NaN
1 NaN
2 NaN
3 NaN
4 97.0
5 98.0
6 NaN
如何对其进行切片,使其返回所有大于95的非空值?像这样的简单切片应该会为您提供所需的输出
wines_df[(wines_df['Ratings'] > 95) & (wines_df['Ratings'].notnull())]
不要用where。使用wines_df[…]来代替子集。为什么不使用where?我很困惑。嗯,拿着枪。哪里解决了问题。但是where上的文档显示它采用了一个布尔标准。。。。所以它应该是有效的,不是吗?因为不满足布尔掩码的条件将导致np.nan,从而返回与原始值具有相同形状的DF。where和mask的用途不用于切片/子切片。