Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/7.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 将两列与条件进行比较_Python_Pandas - Fatal编程技术网

Python 将两列与条件进行比较

Python 将两列与条件进行比较,python,pandas,Python,Pandas,我有两列,比如A和B。我想比较一下,如果A超过B列500,在新列中加1,否则0 我的示例df: A B 13450 12000 10000 12000 5240 5000 5000 5000 60000 70000 预期结果: A B C 13450 12000 1 10000 12000 0 5600 5000 1 5000 5000 0 60000 70000 0 使用

我有两列,比如A和B。我想比较一下,如果A超过B列500,在新列中加1,否则0

我的示例df:

A       B
13450   12000
10000   12000
5240    5000
5000    5000
60000   70000
预期结果:

A       B        C
13450   12000    1
10000   12000    0
5600    5000     1
5000    5000     0
60000   70000    0
使用“大于”我可以比较两列,但我不知道如何在a列超过B超过500的情况下进行比较

任何帮助都将不胜感激

试试以下方法:

df['c']  = np.where((( df['a']-df['b']) > 500), 1,0) 
尝试以下方法:

df['c']  = np.where((( df['a']-df['b']) > 500), 1,0) 

这是一个非常简单的逻辑,只是需要执行一些基本的比较操作

import pandas as pd
df = pd.read_excel('pathoffile.xlsm') 
a = df['col1'].tolist()
b = df['col2'].tolist()
c=[]
for i in len(a):
  if a[i]-b[i]<500:
    c.append(0)
  else:
    c.append(1)
print(c)
将熊猫作为pd导入
df=pd.read\u excel('pathoffile.xlsm')
a=df['col1'].tolist()
b=df['col2'].tolist()
c=[]
关于我在len(a)中的发言:

如果a[i]-b[i]这是一个非常简单的逻辑,只需执行一些基本的比较操作即可

import pandas as pd
df = pd.read_excel('pathoffile.xlsm') 
a = df['col1'].tolist()
b = df['col2'].tolist()
c=[]
for i in len(a):
  if a[i]-b[i]<500:
    c.append(0)
  else:
    c.append(1)
print(c)
将熊猫作为pd导入
df=pd.read\u excel('pathoffile.xlsm')
a=df['col1'].tolist()
b=df['col2'].tolist()
c=[]
关于我在len(a)中的发言:
如果a[i]-b[i]
>>df['C']=(df.a-df.b).ge(500).astype(int)
>>>df
A、B、C
0  13450  12000  1
1  10000  12000  0
2   5240   5000  0
3   5000   5000  0
4  60000  70000  0
您可以使用
-
运算符找到列的差异,然后使用方法检查条件是否大于
500
,最后通过
>df['C']=(df.A-df.B).ge(500).astype(int)将其转换为
int
类型 >>>df A、B、C 0 13450 12000 1 1 10000 12000 0 2 5240 5000 0 3 5000 5000 0 4 60000 70000 0

您可以使用
-
运算符查找列的差异,然后使用方法检查条件大于
500
,最后通过共享您尝试的内容将其转换为
int
类型,告诉我们您面临的问题?我还没有尝试,因为我不知道如何与a列超过B超过500的条件进行比较。请分享您尝试的内容,并告诉我们您面临的问题?我还没有尝试,因为我不知道如何与a列超过B超过500的条件进行比较。