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:时间序列数据:如何选择一小时、一天或一分钟的行?

如何在 Pandas 中选择某些列索引(连续和单独)

根据“小时”日期时间选择 Pandas 数据框行

Python pandas:选择列值为null / None / nan的行[重复]

如何在数据框中选择一定数量的行?