数据集示例:
我有这个数据集,其中有多个行和列,其中我们有列:事务S.No从1开始,一直到当天发生的事务,我们需要创建一个新列,并为其赋值1,其中例如:对于一个客户,存在多个行,因此多个交易的范围从1到......等等。因此,如果该客户的最高交易S.No是5,我们希望将值1分配给索引列中的该特定行,并且对于该客户,其余行应该为空。类似地,对于所有其他客户,其最高交易S.No应该获得值1,如果只进行了一笔交易,例如只有一笔交易的客户,则应输入1。
df.groupby('Accession Number')['Transaction S.No'].max()
试过这个,它说每个客户号的最大交易,但现在如何分配1值给它?
1条答案
按热度按时间a2mppw5e1#
这个答案是可行的,但可能不是最漂亮的,因为如果你理解正确的话,Pandas真的很强大。
它所做的就是遍历groupby中找到的项。这些项是列名和最大值('some Accession',5)的元组。然后条件查找正确的列,并将另一列的值设置为1。