pandas如何选择14到20之间的行
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了pandas如何选择14到20之间的行相关的知识,希望对你有一定的参考价值。
参考技术A 1、首先在pandas软件连续多行的选择用类似于python的列表切片。2、其次按照指定的索引选择一行或多行,使用loc方法。
3、最后按照指定的位置选择一行多多行,使用iloc方法。Pandas是基于NumPy的一种工具,该工具是为解决数据分析任务而创建的。
Python pandas:选择列值为null / None / nan的行[重复]
【中文标题】Python pandas:选择列值为null / None / nan的行[重复]【英文标题】:Python pandas: selecting rows whose column value is null / None / nan [duplicate] 【发布时间】:2017-03-07 19:54:54 【问题描述】:如何选择 DataFrame 的列中值为 none 的那些行?
我已将这些编码为np.nan
,无法匹配此类型。
In [1]: import numpy as np
In [2]: import pandas as pd
In [3]: df = pd.DataFrame([[1, 2, 3], [3, 4, None]])
In [4]: df
Out[4]:
0 1 2
0 1 2 3.0
1 3 4 NaN
In [5]: df = df.fillna(np.nan)
In [6]: df
Out[6]:
0 1 2
0 1 2 3.0
1 3 4 NaN
In [7]: df.iloc[1][2]
Out[7]: nan
In [8]: df.iloc[1][2] == np.nan
Out[8]: False
In [9]: df[df[2] == None]
Out[9]:
Empty DataFrame
Columns: [0, 1, 2]
Index: []
【问题讨论】:
df[df[2].isnull()]
谢谢。很抱歉被骗了。在搜索中找不到我需要的东西。为什么我不能使用 df[df[2] == None]
?为什么在我使用 fillna(np.nan) 对 NaN 进行编码后,np.nan 与自身不匹配?
你可以找到答案here。而fillna(np.nan)
将用 NaN 替换 NaN ;)
【参考方案1】:
你可以使用.isna()方法:
In [48]: df[df[2].isna()]
Out[48]:
0 1 2
1 3 4 NaN
【讨论】:
你知道为什么df.loc[(df['2'] == nan) & (df['2'] == None)]
不起作用吗?
@ahbon,试试这个:np.nan == np.nan以上是关于pandas如何选择14到20之间的行的主要内容,如果未能解决你的问题,请参考以下文章
在 pandas 中,如何选择包含 NaN 的行? [复制]
Pandas:时间序列数据:如何选择一小时、一天或一分钟的行?