如何遍历dataframe中的一列,并按照特定的分类方式,对dataframe中的另一列求和?
时间: 2023-06-04 14:04:53 浏览: 112
你可以使用 Pandas 库中的 groupby() 函数实现此目的。首先,使用 loc[] 或 iloc[] 方法选择需要遍历的列;接着,可以使用 groupby() 函数将其它列按照分类方式分组,并使用 sum() 函数求和。例如:
```python
import pandas as pd
# 创建一个数据框
df = pd.DataFrame({'Class': ['A', 'B', 'C', 'A', 'B', 'C'],
'Score': [80, 90, 85, 70, 95, 75]})
# 对 Class 列进行遍历
for cls in df['Class'].unique():
# 对 Score 列进行分类求和
score_sum = df.loc[df['Class'] == cls, 'Score'].sum()
print(f"Class {cls}: {score_sum}")
```
输出结果为:
```
Class A: 150
Class B: 185
Class C: 160
```
这里先使用 unique() 方法获取 Class 列的唯一值,然后遍历这些值,并根据条件选择出 Score 列中符合要求的行,最后使用 sum() 函数求和。
相关问题
dataframe取特定几行求和
你可以使用 pandas 库中的 iloc 方法来选择特定的行,并对它们进行求和。例如,假设你有一个名为 df 的 DataFrame,它有5列和10行,你想要对第2行到第4行进行求和,你可以像这样编写代码:
``` python
import pandas as pd
# 创建一个示例 DataFrame
df = pd.DataFrame({'A': [1, 2, 3, 4, 5],
'B': [6, 7, 8, 9, 10],
'C': [11, 12, 13, 14, 15],
'D': [16, 17, 18, 19, 20],
'E': [21, 22, 23, 24, 25]})
# 选择第2行到第4行,并对它们进行求和
sum_of_rows_2_to_4 = df.iloc[1:4].sum()
print(sum_of_rows_2_to_4)
```
这将输出以下结果:
```
A 9
B 24
C 39
D 54
E 69
dtype: int64
```
在这个例子中,我们使用 iloc 方法选择了第2行到第4行,并对它们进行了求和。请注意,我们在 iloc 方法中使用的索引是 Python 风格的索引,也就是说,第一个元素的索引为 0,而不是 1。因此,选取第2行到第4行的语法是 `df.iloc[1:4]`,而不是 `df.iloc[2:5]`。
使用pandas对excel表中特定数据进行求和
可以使用Pandas库中的read_excel()函数将Excel表格读取为一个DataFrame对象,然后使用DataFrame对象的sum()函数对特定数据进行求和。
下面是一个例子,假设我们有一个Excel表格文件example.xlsx,其中包含以下数据:
| | A | B | C |
|---|-----|-----|-----|
| 0 | 100 | 200 | 300 |
| 1 | 400 | 500 | 600 |
| 2 | 700 | 800 | 900 |
我们想要对第二列(B列)进行求和,可以使用以下代码实现:
```python
import pandas as pd
df = pd.read_excel('example.xlsx') # 读取Excel表格
sum_b = df['B'].sum() # 对B列进行求和
print(sum_b) # 输出结果
```
输出:
```
1500
```
其中,`df['B']`表示选取DataFrame对象中的B列,`.sum()`表示对B列进行求和。