👉博__主👈:米码收割机
👉技__能👈:C++/Python语言
👉公众号👈:测试开发自动化【获取源码+商业合作】
👉荣__誉👈:阿里云博客专家博主、51CTO技术博主
👉专__注👈:专注主流机器人、人工智能等相关领域的开发、测试技术。
1. 统计某列中,所有值出现的次数
import pandas as pd # 创建一个示例数据集 data = {'A': [1, 2, 2, 3, 1, 2, 3, 1, 1, 2, 3, 4]} df = pd.DataFrame(data) # 使用 value_counts() 函数统计 'A' 列的值出现次数 value_counts = df['A'].value_counts() print(value_counts)
代码说明:
上述代码将创建一个包含一列名为’A’的DataFrame,并使用value_counts()函数计算各个值在’A’列中出现的次数。
运行结果:
1 4 2 4 3 3 4 1 Name: A, dtype: int64
这意味着值1出现了4次,值2出现了4次,值3出现了3次,值4出现了1次。
2. 统计某列中,位于特定区间内值的数量
import pandas as pd # 创建一个示例数据集 data = {'A': [1, 2, 2, 3, 1, 2, 3, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10]} df = pd.DataFrame(data) # 定义要统计的区间 bins = [0, 5, 10] # 使用 pd.cut() 函数对 'A' 列进行分箱 df['bin'] = pd.cut(df['A'], bins) # 使用 value_counts() 函数统计每个区间的数量 bin_counts = df['bin'].value_counts() # 输出结果 print(bin_counts)
代码说明:
在这个例子中,我们首先创建了一个包含一列名为’A’的DataFrame。接下来,我们定义了一个区间列表bins,表示我们希望统计介于0到5(含5)之间的值以及介于5到10(含10)之间的值。
然后,我们使用pd.cut()函数对’A’列进行分箱,并将结果保存在新列bin中。最后,我们使用value_counts()函数统计每个区间的数量。
运行结果:
(0, 5] 12 (5, 10] 6 Name: bin, dtype: int64
3. 统计某列中,位于特定区间内对应另一列的平均值
import pandas as pd # 创建一个示例数据集 data = { 'A': [1, 2, 2, 3, 1, 2, 3, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100, 110, 120, 130, 140, 150, 160, 170, 180] } df = pd.DataFrame(data) # 定义要统计的区间 bins = [0, 5, 10] # 使用 pd.cut() 函数对 'A' 列进行分箱 df['bin'] = pd.cut(df['A'], bins) # 使用 groupby() 函数按照分箱分组,并计算每组中 'B' 列的平均值 bin_means = df.groupby('bin')['B'].mean() # 输出结果 print(bin_means)
代码说明:
在这个例子中,我们首先创建了一个包含两列名为’A’和’B’的DataFrame。接下来,我们定义了一个区间列表bins,表示我们希望统计介于0到5(含5)之间的值以及介于5到10(含10)之间的值。
然后,我们使用pd.cut()函数对’A’列进行分箱,并将结果保存在新列bin中。接着,我们使用groupby()函数将数据按照分箱分组,并使用mean()函数计算每个组中’B’列的平均值。
运行结果:
bin (0, 5] 55.0 (5, 10] 145.0 Name: B, dtype: float64
4. 统计某列数值的前十名,对应另一列的值
import pandas as pd # 创建一个示例数据集 data = { 'A': [1, 2, 2, 3, 1, 2, 3, 1, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10], 'B': ['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r'] } df = pd.DataFrame(data) # 根据列 'A' 对 DataFrame 进行降序排序 df_sorted = df.sort_values(by='A', ascending=False) # 获取前十名 top_10 = df_sorted.head(10) # 提取前十名对应的列 'B' 的值 top_10_b_values = top_10['B'] # 输出结果 print(top_10_b_values)
代码说明:
在这个例子中,我们首先创建了一个包含两列名为’A’和’B’的DataFrame。然后,我们根据’A’列对DataFrame进行降序排序,接着使用head()函数获取前十名。最后,我们提取前十名对应的’B’列的值。
运行结果:
17 r 16 q 15 p 14 o 13 n 12 m 11 l 10 k 9 j 8 i Name: B, dtype: object