【问题标题】:Summing up the total abundance for each type of element of a column in a table汇总表中某一列的每种元素的总丰度
【发布时间】:2021-12-02 11:07:53
【问题描述】:

我真的不知道如何表达这个,所以我希望它可以理解。 我有一个包含数千行和几列的大型 csv 文件,基本上是这样的:

Class DBE Abundance H/C N/C O/C
Class 1 1 10000 0.9 0.08 0.8
Class 1 2 50000 0.8 0.08 0.6
Class 2 1 20000 0.9 0.06 0.5
Class 2 1 30000 0.8 0.08 0.8
... ... ... ... ... ...

...

我想获得每个相同类别的总丰度(因此总结第 1 类、第 2 类等的所有丰度)和每个相同 DBE。我还想要一组 (H/C, N/C) 和一组 (H/C, O/C) 的总丰度。我是手动开始的,但它很长,所以我希望使用 python,因为我对它了解一点,而且它似乎有用于计算的库。实现这一目标的最佳方法是什么? numpy 中的这个直方图函数看起来很有趣,但需要知道“bins”。编写一些东西来滚动表格似乎有点过头了。

提前致谢

【问题讨论】:

  • 您检查过pandas 库及其groupby 函数吗?
  • totals = df.groupby(["Class"]).sum()

标签: python data-science


【解决方案1】:

首先,非常感谢您分享您的(非功能性)代码,而不仅仅是您想要解决的任务,请参阅相关指南。

对于您的问题: 将 csv 文件读取到 pandas 数据框后,您可以尝试使用pandas groupby function

例如:

import pandas as pd
df = pd.read_csv("your_csv_file")
df.groupby(["Class"].sum())

然后你总结除 Class 之外的所有列,你在其中分组并且应该有你的解决方案。

【讨论】:

  • 我不知道从哪里开始,所以我没有代码可以提议。我在问指导方针。 groupby 函数是我一直在寻找的,我不知道它,它非常强大且易于使用。
猜你喜欢
  • 2022-12-22
  • 2017-08-22
  • 1970-01-01
  • 2018-03-31
  • 2018-07-06
  • 2020-11-17
  • 1970-01-01
  • 2018-05-15
  • 1970-01-01
相关资源
最近更新 更多