【发布时间】:2020-09-15 17:09:19
【问题描述】:
我想在显示计数值的现有数据框中添加一列。计数值应将给定行中的值与另一列中的所有行进行比较。
在我的示例中,我想查找整个“end_date”列中的值早于当前“start_date”列的次数。像这样将计数添加到数据框:
start_date end_date count
1 2020-09-2 2020-09-3 1
2 2020-09-6 2020-09-7 3
3 2020-09-4 2020-09-5 2
4 2020-09-1 2020-09-1 0
我试过了
df['count'] = (df[df['end_date']<df['start_date']]).count()
但这会导致所有行的计数列都为 0,因为任何一行中的 start_date 总是小于 end_date。
【问题讨论】:
-
您尝试过什么来解决这个问题?
-
所有的值都是数字吗?
-
我已更新示例以更好地代表我的实际问题
-
我认为link 回答了你的问题
-
(df[df['end_date']<df['start_date']])给你一个布尔数组,用 numpy.sum() 你可以得到True的数量(因为在python中True是整数1,False是整数0)。那么np.sum((df[df['end_date']<df['start_date']]))给你答案
标签: python