我有一个数据框架,其中物种作为列,站点作为行。在每个细胞里都是我在那个地方看到的每个物种的数量。e、 g
Fern1 Fern2 Flower1 Flower2
Site1 15 0 6 1
Site2 0 46 16 40
Site3 25 1 19 3
总计=172 但我想从这个数据集中随机抽取100个人:
Fern1 Fern2 Flower1 Flower2
Site1 10 0 3 0
Site2 0 26 10 26
Site3 14 0 10 1
(这个例子不是随机的,但我想要的是随机的)
所以我开始做
df.stack()
df[df != 0]
Site1 Fern1 15
Flower1 6
Flower2 1
Site2 Fern2 46
Flower1 16
Flower2 40
这是我需要帮助的部分 现在我想从1:len(count)创建组 e、 g
Site1 Fern1 1 1
2 1
3 1
4 1
... ...
16 1
Flower1 1 1
这样我就可以使用python示例了。
我找到了this,但它并不能满足我的需要。任何帮助都将不胜感激。我试图寻找尽可能多,因为这是一个很常见的问题,但在一个有点匆忙,并认为有人可能已经这样做了。你知道吗
提前谢谢。你知道吗
pandas: create a column from 1 to length of each group
result = df.groupby(df.index).transform(lambda x: np.arange(1,len(x)+1))
上面在我的专栏文章中给出了一堆[1],以及原始索引。你知道吗
好的,这就是我最后要做的(在将我的堆积df从一个系列转换回一个具有一个名为'Counts'列的df之后):
虽然这是可行的,但效率不是很高,当我尝试对10万行进行采样时,会出现内存错误。用这种方法处理一个大文件有什么建议吗?你知道吗
感谢所有提供答案的人。我欢迎你的反馈。你知道吗
试试看
cumcount
相关问题 更多 >
编程相关推荐