Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/16.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
Pandas 如何将函数应用于不带“QUOTE”的列上的函数;应用“;?_Pandas - Fatal编程技术网

Pandas 如何将函数应用于不带“QUOTE”的列上的函数;应用“;?

Pandas 如何将函数应用于不带“QUOTE”的列上的函数;应用“;?,pandas,Pandas,我有一个数据帧,如: A | B | C | ... 1000 | 600 | 600 | productdesc 1500 | 400 | 600 | productdesc 1000 | 600 | 300 | productdesc 我想基于以下内容创建一个新的列D: def get_result(): if A > 1000 or B > 600 or C > 600: return 1 else: ret

我有一个数据帧,如:

A    | B   | C   | ...
1000 | 600 | 600 | productdesc
1500 | 400 | 600 | productdesc
1000 | 600 | 300 | productdesc
我想基于以下内容创建一个新的列D:

def get_result():
    if A > 1000 or B > 600 or C > 600:
        return 1
    else:
        return 0
导致:

A    | B   | C   | ...         | D
1000 | 600 | 600 | productdesc | 0
1500 | 400 | 600 | productdesc | 1
1000 | 600 | 300 | productdesc | 0
由于数据帧大小,我无法使用。请应用,因为它很慢


但是我找不到一种快速的方法来将函数应用到列上/基于函数创建一个新列,其中的参数基于其他列?

让我们试试
any

df['D'] = df.gt({'A':1000,'B':600,'C':600}).any(1).astype(int)
#df['D']
Out[327]: 
0    0
1    1
2    0
dtype: int32

让我们试试
any

df['D'] = df.gt({'A':1000,'B':600,'C':600}).any(1).astype(int)
#df['D']
Out[327]: 
0    0
1    1
2    0
dtype: int32
使用:

或:

使用:

或:


这给了我“ValueError:无法强制转换为序列,长度必须为10:给定3”。我的数据框架有10列,一些int,一些object,一些string。只有AB C与D相关,我如何用你的解决方案来解决这个问题?@Vega df['D']=df['A','B','C']].gt({'A':1000,'B':600,'C':600})。any(1)。astype(int)@Vega YW:-)愉快的编码~给我“ValueError:无法强制到序列,长度必须是10:3”。我的数据框架有10列,一些int,一些object,一些string。只有ABC与D相关,我如何用你的解决方案来解决这个问题?@Vega df['D']=df['A','B','C']].gt({'A':1000,'B':600,'C':600})。任意(1)。astype(int)@Vega YW:-)快乐编码~
df['D'] = df.gt([1000,600,600]).any(1).astype(int)