table 中一列的每种元素的总丰度总和
Summing up the total abundance for each type of element of a column in a table
我真的不知道该如何表达,所以我希望它能被理解。
我有一个很大的 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
...
...
...
...
...
...
...
我想得到每个相同 class 的总丰度(所以总结 class 1、class 2 等的所有丰度)和每个相同的 DBE .我还想要一组 (H/C、N/C) 和一组 (H/C、O/C) 的总丰度。我手动开始这个但是它很长,所以我希望使用 python,因为我知道一点,它似乎有用于计算的库。实现这一目标的最佳方法是什么? numpy 中的直方图函数看起来很有趣,但需要知道“bins”。编码一些东西来滚动 table 似乎有点过分了。
提前致谢
首先,如果您分享您的(非功能性)代码而不仅仅是您想要解决的任务,我们将不胜感激,请参阅相关指南。
针对您的问题:
在将 csv 文件读取到 pandas 数据帧后,您可以尝试使用 pandas groupby function。
例如:
import pandas as pd
df = pd.read_csv("your_csv_file")
df.groupby(["Class"].sum())
然后你总结所有列,除了 Class,你在后面分组并且应该有你的解决方案。
我真的不知道该如何表达,所以我希望它能被理解。 我有一个很大的 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 |
... | ... | ... | ... | ... | ... |
...
我想得到每个相同 class 的总丰度(所以总结 class 1、class 2 等的所有丰度)和每个相同的 DBE .我还想要一组 (H/C、N/C) 和一组 (H/C、O/C) 的总丰度。我手动开始这个但是它很长,所以我希望使用 python,因为我知道一点,它似乎有用于计算的库。实现这一目标的最佳方法是什么? numpy 中的直方图函数看起来很有趣,但需要知道“bins”。编码一些东西来滚动 table 似乎有点过分了。
提前致谢
首先,如果您分享您的(非功能性)代码而不仅仅是您想要解决的任务,我们将不胜感激,请参阅相关指南。
针对您的问题: 在将 csv 文件读取到 pandas 数据帧后,您可以尝试使用 pandas groupby function。
例如:
import pandas as pd
df = pd.read_csv("your_csv_file")
df.groupby(["Class"].sum())
然后你总结所有列,除了 Class,你在后面分组并且应该有你的解决方案。