python - 按索引标准对 Pandas 数据帧切片进行索引

标签 python pandas

我经常需要通过比 Pandas DataFrame 中的标准更高/更低的标准在索引中进行一些搜索。 我找到了一种方法来做到这一点,但感觉有点麻烦,或者不知何故不聪明。 这是我目前的方法:

from numpy import linspace
import pandas as pd

df = pd.DataFrame(linspace(1,5,5),index=linspace(0.1,0.5,5))

df

     0
0.1  1
0.2  2
0.3  3
0.4  4
0.5  5

df[(df.index>0.3) * (df.index <0.5)]

     0
0.3  3
0.4  4

它确实给了我我想要的东西,但如果你有更好的方法,请提出一个更好的方法。

最佳答案

我会这样做。使用 float-like 索引操作有点不寻常,可能会产生一些意想不到的结果。在 0.13(很快发布)中,它有更多的支持,但仍然与“常规”索引不同。参见 here

In [4]: df = pd.DataFrame({ 'A' : np.linspace(1,5,5), 'B' : np.linspace(0.1,0.5,5) })

In [5]: df
Out[5]: 
   A    B
0  1  0.1
1  2  0.2
2  3  0.3
3  4  0.4
4  5  0.5

In [6]: df.loc[(df.B>0.3)&(df.B<0.5)]
Out[6]: 
   A    B
2  3  0.3
3  4  0.4

关于python - 按索引标准对 Pandas 数据帧切片进行索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19708127/

相关文章:

python - 更改 tkinter 中按钮的颜色适用于 Windows,但不适用于 Mac OSX

python - PyLucene : ImportError: cannot import name SimpleFSDirectory

python - 如何从新闻摘要中提取股票代码NUMBER?

python - 对部分已知的列名执行算术

python - Pandas 按每周日期分组

python - 填写缺失的日期

python - 如何在 python 虚拟环境之外使用 Opencv?

python - Keras 和 TensorBoard - AttributeError : 'Sequential' object has no attribute '_get_distribution_strategy'

pandas - 如何删除 Dataframe.plot 中的特定图例标签?

python - 如何创建相应的列