小编use*_*991的帖子

在PANDAS中,如何获得已知值的索引?

如果我们在列中有一个已知值,我们如何获得其索引值?例如:

In [148]: a = pd.DataFrame(np.arange(10).reshape(5,2),columns=['c1','c2'])
In [149]: a
Out[149]:   
   c1  c2
0   0   1
1   2   3
2   4   5
........
Run Code Online (Sandbox Code Playgroud)

我们知道,我们可以通过与之对应的索引获取值,就像这样.

In [151]: a.ix[0,1]    In [152]: a.c2[0]   In [154]: a.c2.ix[0]   <--  use index
Out[151]: 1            Out[152]: 1         Out[154]: 1            <--  get value
Run Code Online (Sandbox Code Playgroud)

但是如何按价值获得指数?

indexing pandas

23
推荐指数
4
解决办法
7万
查看次数

通过PANDAS数据帧中的条件表达式选择子集,但是出现错误

像这样的样本:

In [39]: ts = pd.Series(np.random.randn(20),index=pd.date_range('1/1/2000',periods=20))
In [40]: t = pd.DataFrame(ts,columns=['base'],index=ts.index)
In [42]: t['shift_one'] = t.base - t.base.shift(1)
In [43]: t['shift_two'] = t.shift_one.shift(1)
In [44]: t
Out[44]: 
                base  shift_one  shift_two
2000-01-01 -1.239924        NaN        NaN
2000-01-02  1.116260   2.356184        NaN
2000-01-03  0.401853  -0.714407   2.356184
2000-01-04 -0.823275  -1.225128  -0.714407
2000-01-05 -0.562103   0.261171  -1.225128
2000-01-06  0.347143   0.909246   0.261171
.............
2000-01-20 -0.062557  -0.467466   0.512293
Run Code Online (Sandbox Code Playgroud)

现在,如果我们使用t [t.shift_one> 0],它可以正常工作,但是当我们使用时:在[48]中:t [t.shift_one> 0和t.shift_two <0] -------- -------------------------------------------------- ----------------- ValueError Traceback(最近一次调用last)in()----> 1 t [t.shift_one> 0和t.shift_two <0]

ValueError: The truth value of …
Run Code Online (Sandbox Code Playgroud)

subset pandas

3
推荐指数
1
解决办法
4707
查看次数

标签 统计

pandas ×2

indexing ×1

subset ×1