Python 按熊猫中的列名重新分类

Python 按熊猫中的列名重新分类,python,pandas,array-broadcasting,Python,Pandas,Array Broadcasting,我想对pandas数据帧应用测试,并根据测试结果在相应的数据帧中创建标志。我已经走了这么远: import numpy as np import pandas as pd matrix = pd.DataFrame({'a': [1, 11, 2, 3, 4], 'b': [5, 6, 22, 8, 9]}) flags = pd.DataFrame(np.zeros(matrix.shape), columns=matrix.columns) flag_values = pd.Series

我想对pandas数据帧应用测试,并根据测试结果在相应的数据帧中创建标志。我已经走了这么远:

import numpy as np
import pandas as pd


matrix = pd.DataFrame({'a': [1, 11, 2, 3, 4], 'b': [5, 6, 22, 8, 9]})
flags = pd.DataFrame(np.zeros(matrix.shape), columns=matrix.columns)
flag_values = pd.Series({"a": 100, "b": 200})

flags[matrix > 10] = flag_values 
但这也带来了错误

ValueError: Must specify axis=0 or 1
在这种情况下,在哪里可以指定轴?有没有更好的方法来实现这一点

编辑:

我在本例中寻找的标志结果是

a    b
0    0
100  0
0    200
0    0
0    0
带mul的面具

带mul的面具

您可以定义flags=matrix>10*标志值:

这取决于和False的数值为0。 在执行算术运算之前,它还依赖于Pandas基于标签的数据帧和序列的出色性能。

您可以定义flags=matrix>10*flag\u值:

这取决于和False的数值为0。 在执行算术运算之前,它还依赖于熊猫漂亮的基于标签的数据帧和序列

flags.mask(matrix > 10,1).mul(flag_values,axis=1)

Out[566]: 
       a      b
0    0.0    0.0
1  100.0    0.0
2    0.0  200.0
3    0.0    0.0
4    0.0    0.0
In [35]: (matrix > 10) * flag_values
Out[35]: 
     a    b
0    0    0
1  100    0
2    0  200
3    0    0
4    0    0