首页 > 解决方案 > 通过python中的索引和数组对数据框进行切片

问题描述

我有一个示例数据框df和一个数组n,如下所示。我想根据索引中的数组值进行过滤。输出数据框也如下所示。我已经尝试过Out = df[df.index == n]Out = df.loc[df.index == n]df.loc[n]它不工作给出一个错误Lengths must match to compare。谁能帮我解决这个问题。这里数组是数据框对应的行号。

df = 
             Open   High    Low    Close    Adj Close   Volume
2007-06-18  0.33979 0.33979 0.33979 0.33979 0.33979 1591888
2007-06-29  0.33074 0.33074 0.33074 0.33074 0.33074 88440
2007-06-20  0.33526 0.33526 0.33526 0.33526 0.33526 3538
2007-06-21  0.32113 0.32113 0.32113 0.32113 0.32113 3550
2007-06-22  0.34713 0.34713 0.34713 0.34713 0.34713 670
2007-06-16  0.33979 0.33979 0.33979 0.33979 0.33979 1591888
2007-06-30  0.33074 0.33074 0.33074 0.33074 0.33074 88440
2007-06-31  0.33526 0.33526 0.33526 0.33526 0.33526 3538
2007-06-44  0.32113 0.32113 0.32113 0.32113 0.32113 3550
2007-06-22  0.34713 0.34713 0.34713 0.34713 0.34713 670

n = array([0, 1, 2, 3])

Out  = 
            Open      High  Low     Close   Adj Close   Volume
2007-06-18  0.33979 0.33979 0.33979 0.33979 0.33979 1591888
2007-06-29  0.33074 0.33074 0.33074 0.33074 0.33074 88440
2007-06-20  0.33526 0.33526 0.33526 0.33526 0.33526 3538
2007-06-21  0.32113 0.32113 0.32113 0.32113 0.32113 3550

标签: pythonarrayspandasdataframeindexing

解决方案


用于切片的 Pandas 表示法:

df.iloc[0:4,:]

推荐阅读