下面是一个示例代码,用于按不同列分组并计算值在两个数字之间的行数:
import pandas as pd
# 创建示例数据
data = {'A': [1, 2, 3, 4, 5, 6],
'B': [2, 4, 6, 8, 10, 12],
'C': [3, 6, 9, 12, 15, 18]}
df = pd.DataFrame(data)
# 按不同列分组并计算值在两个数字之间的行数
def count_rows_between_values(group, col_name, min_val, max_val):
count = group[(group[col_name] >= min_val) & (group[col_name] <= max_val)].shape[0]
return count
grouped = df.groupby(['A', 'B']).apply(count_rows_between_values, col_name='C', min_val=4, max_val=10)
print(grouped)
以上代码中,首先创建了一个包含三列的示例数据的DataFrame。然后定义了一个函数count_rows_between_values,该函数接受一个分组、一个列名、一个最小值和一个最大值作为参数,计算该分组中特定列的数值在最小值和最大值之间的行数。最后,使用groupby将DataFrame按'A'和'B'列进行分组,并对每个分组应用count_rows_between_values函数,得到每个分组中满足条件的行数。最终,打印出每个分组的结果。
请注意,以上代码使用了pandas库来处理和分析数据。如果你还没有安装pandas,可以使用以下命令进行安装:
pip install pandas
上一篇:按不同列分组并在不同列上计数
下一篇:按不同列进行分组