Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/339.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何检查DataFrame.Series元素的条件并将结果应用于新列?_Python_Pandas - Fatal编程技术网

Python 如何检查DataFrame.Series元素的条件并将结果应用于新列?

Python 如何检查DataFrame.Series元素的条件并将结果应用于新列?,python,pandas,Python,Pandas,我有一个熊猫数据框 df = pandas.DataFrame([(11,12,13),(1,3,5),(1,1,2)], columns=['a','b','c']) a b c 0 11 12 13 1 1 3 5 2 3 1 2 我想创建第四列,名为d,它将告诉我一行中的每个元素是否大于10。这个例子是这样的 a b c d 0 11 12 13 True 1 1 3 5 False 2

我有一个熊猫数据框

df = pandas.DataFrame([(11,12,13),(1,3,5),(1,1,2)], columns=['a','b','c'])

    a   b   c
0  11  12  13
1   1   3   5
2   3   1   2
我想创建第四列,名为
d
,它将告诉我一行中的每个元素是否大于10。这个例子是这样的

    a   b   c      d
0  11  12  13   True
1   1   3   5  False
2   3   1   2  False
我试过了,这给了我一个打字错误

x = df['a']
y = df['b']
z = df['c']
df['d'] = df.apply(lambda x,y,z: True if x > 10 and y > 10 and z > 10 else False) 
我也试过,这给了我一个错误

df['d'] = True
df['e'] = df['d'].where(df['a'] > 10 and df['b'] > 10 and df['c'] > 10, other=False)

我们可以在表达式
df>10
上使用
np.all

In [423]:

df['d'] = np.all(df > 10, axis=1)
df
Out[423]:
    a   b   c      d
0  11  12  13   True
1   1   3   5  False
2   1   1   2  False

In [421]:

df > 10
Out[421]:
       a      b      c
0   True   True   True
1  False  False  False
2  False  False  False
In [422]:

np.all(df > 10, axis=1)
Out[422]:
array([ True, False, False], dtype=bool)

我想检查每列中的每个元素是否大于10,而不是所有元素的总和是否大于10。