Python小于语句,计算小于的数量,并将其分配给新列

Python小于语句,计算小于的数量,并将其分配给新列,python,pandas,Python,Pandas,我有以下示例数据集: df_samp = pd.DataFrame({'Name': ['Bob', 'John', 'Ross'], 'Counts': [5, 4, 3]}) 我想逐行计算计数列是否小于5,然后添加一个新列,显示每个特定行小于5的量。例如: Name Counts Difference Bob 5 0 John 4 1 Ross 3 2 以下内容很简单,但返回标准(和预期的)True或False: df_sa

我有以下示例数据集:

df_samp = pd.DataFrame({'Name': ['Bob', 'John', 'Ross'], 'Counts': [5, 4, 3]})
我想逐行计算
计数
列是否小于5,然后添加一个新列,显示每个特定行小于5的量。例如:

Name   Counts   Difference
Bob    5        0
John   4        1
Ross   3        2
以下内容很简单,但返回标准(和预期的)
True
False

df_samp['Counts'] = df_samp['Counts'] < 5

Name   Counts
Bob    False
John   True
Ross   True
df_samp['Counts']=df_samp['Counts']<5
姓名计数
鲍勃·福利斯
约翰·特鲁尔
罗斯·特鲁尔
如何更进一步?

使用和:

输出:

   Name  Counts  Difference
0   Bob       5           0
1  John       4           1
2  Ross       3           2

你需要这样做:
df_-samp['Difference']=abs(df_-samp['Counts']-5)
。有时候最明显的答案会打到你的脸上@mayankporwal出于学习目的,为什么这比使用有条件的方法更好?当它允许我时,将标记为正确答案。理想情况下,当你有多个东西需要评估时,你需要条件。这里,您只需要列的值与5的绝对差值。不需要在代码中添加额外的检查来降低速度。在我要求的范围内有效。最后一件事,假设Bob在计数列中有6个-是否需要新的行来处理大于5的数据?希望输出为零,大于5No。把
np.where
想象成一个
if-else
语句。如果您阅读代码,它会检查
是否计数完美!知道了
   Name  Counts  Difference
0   Bob       5           0
1  John       4           1
2  Ross       3           2