【发布时间】:2016-06-25 21:06:28
【问题描述】:
我无法找出索引中的错误。我相信这一定是一个愚蠢的错误。我想将这些行的“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【问题讨论】:
-
[j[j].index].index语法无效.. -
如果您能以文本形式提供示例输入数据会很有帮助
-
@MaxU 添加了示例数据集
-
预期输出是什么?
-
你的意思是“谁的块大小”或“谁的块数”是1?
标签: python pandas data-science