小编Rex*_*Rex的帖子

在iPython笔记本中调试的正确方法是什么?

据我所知,%debug magic可以在一个单元格内进行调试.

但是,我有跨多个单元格的函数调用.

例如,

In[1]: def fun1(a)
           def fun2(b)
               # I want to set a breakpoint for the following line #
               return do_some_thing_about(b)

       return fun2(a)

In[2]: import multiprocessing as mp
       pool=mp.Pool(processes=2)
       results=pool.map(fun1, 1.0)
       pool.close()
       pool.join
Run Code Online (Sandbox Code Playgroud)

我尝试了什么:

  1. 我试着设置%debug在cell-1的第一行.但它甚至在执行cell-2之前立即进入调试模式.

  2. 我试图%debug在代码之前添加行return do_some_thing_about(b).但随后代码永远运行,永不停止.

在ipython笔记本中设置断点的正确方法是什么?

python ipython python-2.7 pdb jupyter-notebook

110
推荐指数
9
解决办法
8万
查看次数

如何选择大于多索引Pandas数据帧中的值的单元格?

试试1:

df[ df > 1.0 ]:这返回了所有细胞NAN.

Try2:

df.loc[ df > 1.0 ] :这回来了 KeyError: 0

df[df['A']> 1.0] :这有效 - 但我想将过滤条件应用于所有列.

python pandas

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

Python Pandas:如何将一行移动到Dataframe的第一行?

给定已编制索引的现有Dataframe.

>>> df = pd.DataFrame(np.random.randn(10, 5),columns=['a', 'b', 'c', 'd', 'e'])
>>> df
          a         b         c         d         e
0 -0.131666 -0.315019  0.306728 -0.642224 -0.294562
1  0.769310 -1.277065  0.735549 -0.900214 -1.826320
2 -1.561325 -0.155571  0.544697  0.275880 -0.451564
3  0.612561 -0.540457  2.390871 -2.699741  0.534807
4 -1.504476 -2.113726  0.785208 -1.037256 -0.292959
5  0.467429  1.327839 -1.666649  1.144189  0.322896
6 -0.306556  1.668364  0.036508  0.596452  0.066755
7 -1.689779  1.469891 -0.068087 -1.113231  0.382235
8  0.028250 -2.145618  0.555973 -0.473131 -0.638056
9  0.633408 -0.791857  0.933033  1.485575 -0.021429
>>> df.set_index("a")
                  b …
Run Code Online (Sandbox Code Playgroud)

python numpy dataframe pandas

9
推荐指数
2
解决办法
9691
查看次数

如何减去数据帧组内的行?

给定一个多索引 Pandas 数据框 df2,我想计算每个类别中每一行与上面行的差异。

import pandas as pd
inner = ('a','b','c')
cols = ('A','B','C','D')
df1=pd.DataFrame(np.random.randn(3,4), index=inner, columns=cols)
df2=pd.concat([df1,df1],keys=['X','Y'])
Run Code Online (Sandbox Code Playgroud)

df2:

                A      B             C         D
X   a   -0.391804   -0.307916   -0.265643   -0.222193
    b   -0.142498   -1.389972   1.060328    1.207945
    c   1.156881    1.596382    0.620923    0.592739
Y   a   -0.391804   -0.307916   -0.265643   -0.222193
    b   -0.142498   -1.389972   1.060328    1.207945
    c   1.156881    1.596382    0.620923    0.592739
Run Code Online (Sandbox Code Playgroud)

这是我尝试过的:

df2.groupby(level=[0]).apply(lambda x: df2.loc[x.index[:-1]-df2.loc[x.index[1:]]])
Run Code Online (Sandbox Code Playgroud)

但这会得到一个带有三级索引的错误结果数据框。

             A           B          C           D
X   X   a   -0.391804   -0.307916   -0.265643   -0.222193
        b   -0.142498   -1.389972   1.060328    1.207945
Y   Y   a   -0.391804 …
Run Code Online (Sandbox Code Playgroud)

python pandas

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

标签 统计

python ×4

pandas ×3

dataframe ×1

ipython ×1

jupyter-notebook ×1

numpy ×1

pdb ×1

python-2.7 ×1