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