是否存在以下不同的情况?
dfCombined[col][dfCombined[col].isnull()]
dfCombined[col].loc[dfCombined[col].isnull()]我检查了iloc和ix,它们不支持布尔选择吗?
发布于 2017-01-24 20:41:56
我认为如果您需要具有筛选列col的boolean indexing,请使用loc
dfCombined.loc[dfCombined[col].isnull(), 'col']如果需要,可以省略所有列的loc:
dfCombined[dfCombined[col].isnull()]示例:
dfCombined = pd.DataFrame({'col':[1,2,np.nan],
'col1':[4,5,6]})
print (dfCombined)
col col1
0 1.0 4
1 2.0 5
2 NaN 6
print (dfCombined.loc[dfCombined['col'].isnull(), 'col'])
2 NaN
Name: col, dtype: float64
#select second column (1)
print (dfCombined.ix[dfCombined['col'].isnull(), 1])
2 6
Name: col1, dtype: int64
print (dfCombined.iloc[dfCombined['col'].isnull(), 1])
NotImplementedError: iLocation based boolean indexing on an integer type is not available
print (dfCombined[dfCombined['col'].isnull()])
col col1
2 NaN 6关于你的问题:
这两种方法都适用,但更受欢迎的是用于选择列的ix和loc -参见cookbook。
print (dfCombined['col'][dfCombined['col'].isnull()])
2 NaN
Name: col, dtype: float64
print (dfCombined['col'].loc[dfCombined['col'].isnull()])
2 NaN
Name: col, dtype: float64发布于 2018-11-29 00:52:42
在pandas中,df.iloc仅适用于布尔值
示例:
df.iloc[df[‘col’]==False/True] 其中as df.loc适用于非布尔值
示例:
df.loc[df[‘col’]==values]https://stackoverflow.com/questions/41828486
复制相似问题