Ste*_*Jr. 12 python python-2.7 pandas
所以我有一个包含5列的数据框.我想拉出所有列都是NaN的索引.我使用的是这段代码:
nan = pd.isnull(df.all)
Run Code Online (Sandbox Code Playgroud)
但这只是返回false,因为逻辑上说不是数据帧中的所有值都不为空.有数以千计的条目,所以我宁愿不必循环并检查每个条目.谢谢!
piR*_*red 10
它应该只是:
df.isnull().all(1)
Run Code Online (Sandbox Code Playgroud)
将index可以访问,如:
df.index[df.isnull().all(1)]
Run Code Online (Sandbox Code Playgroud)
np.random.seed([3,1415])
df = pd.DataFrame(np.random.choice((1, np.nan), (10, 2)))
df
Run Code Online (Sandbox Code Playgroud)
idx = df.index[df.isnull().all(1)]
nans = df.ix[idx]
nans
Run Code Online (Sandbox Code Playgroud)
码
np.random.seed([3,1415])
df = pd.DataFrame(np.random.choice((1, np.nan), (10000, 5)))
Run Code Online (Sandbox Code Playgroud)
假设您的数据框名为df,您可以使用布尔索引来检查所有列 ( axis=1) 是否为空。然后取结果的索引。
np.random.seed(0)
df = pd.DataFrame(np.random.randn(5, 3))
df.iloc[-2:, :] = np.nan
>>> df
0 1 2
0 1.764052 0.400157 0.978738
1 2.240893 1.867558 -0.977278
2 0.950088 -0.151357 -0.103219
3 NaN NaN NaN
4 NaN NaN NaN
nan = df[df.isnull().all(axis=1)].index
>>> nan
Int64Index([3, 4], dtype='int64')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9725 次 |
| 最近记录: |