我无法在索引中找出错误。我相信这一定是一个愚蠢的错误。我想将这些行的“td”值设置为 0,其“块”大小为 1。我首先找出这些行,然后使用这些索引将“td”列的值设置为 0。这是样本数据集。在这里,除了第 5、7、8 号块之外,所有其他块的值都应在“td”列中设置为 0。
Sid Itemid Block td 0 1 214536502 1 180.591 1 1 214536500 2 37.13 2 1 214536506 3 133.308 3 1 214577561 4 南 4 2 214662742 5 41.759 5 2 214662742 5 78.073 6 3 214576500 6 南 7 4 214821275 7 26.002 8 4 214821275 7 28.199 9 5 214821371 8 42.289 10 5 214821371 8 45.193
这是我的代码。我得到了意想不到的输出。
j=k.groupby('Block').Sid.count()==1
te=k['Block'][j[j].index].index
k['td'][te]=0
预期输出-
Sid Itemid Block td 0 1 214536502 1 0 1 1 214536500 2 0 2 1 214536506 3 0 3 1 214577561 4 0 4 2 214662742 5 41.759 5 2 214662742 5 78.073 6 3 214576500 6 0 7 4 214821275 7 26.002 8 4 214821275 7 28.199 9 5 214821371 8 42.289 10 5 214821371 8 45.193