Pandas库Dataframe基本函数及方法

  • head(n): 返回前 n 行数据,默认为前 5 行。
  • tail(n): 返回后 n 行数据,默认为后 5 行。
  • shape: 返回 DataFrame 的维度,即行数和列数。
  • info(): 显示 DataFrame 的基本信息,包括列名、数据类型和非空值数量等。
  • describe(): 显示 DataFrame 的统计摘要,包括计数、均值、标准差、最小值、最大值等统计信息。
  • columns: 返回 DataFrame 的列名列表。
  • index: 返回 DataFrame 的索引值列表。
  • loc[row_label, col_label]: 通过标签获取特定行和列的数据。
  • iloc[row_index, col_index]: 通过位置索引获取特定行和列的数据。
  • fillna(value): 将缺失值填充为指定的值。
  • dropna(): 删除包含缺失值的行。
  • sort_values(by, ascending=True): 按指定列的值对 DataFrame 进行排序。
  • groupby(by): 按指定列进行分组操作。
  • merge(other_df, on='column_name'): 根据指定列将两个 DataFrame 进行合并。
  • pivot_table(values, index, columns, aggfunc): 创建透视表,根据指定的值、行、列和聚合函数进行数据汇总。
  • apply(func): 对 DataFrame 的每个元素应用指定的函数。
  • map(dict_or_func): 根据字典或函数映射 Series 或 DataFrame 的值

    ##在Pandas中,groupby()是非常常用的一个分组函数,它可以将DataFrame进行分组,非常适合对数据进行拆分、应用和合并。需要注意的是,在分组前通常需要对DataFrame进行排序,这样可以保证同一组的数据聚集在一起,便于操作。

#按照一列或者多列进行分组
df.groupby('列名')
# 或
df.groupby(['列名1','列名2'])


#分组后聚合运算
df.groupby('列名').sum()
df.groupby('列名').mean()

#在分组上应用变换
df.groupby('列名').transform(lambda x: x + 100)

#在分组上进行迭代
for name, group in df.groupby('列名'):
    print(name)
    print(group)


#按分组进行筛选
df.groupby('列名').filter(lambda x: x['count'] > 2)

DataFrame聚合指的是将一个DataFrame中的数据按照一定的规则进行分组,并对每个分组中的数据进行统计分析。常见的聚合函数包括求和、计数、平均值、中位数、最大值、最小值等等。 Pandas中提供了多种聚合函数,其中最常用的是`groupby()`函数,它可以根据指定的列名或条件将数据分组,并对每个组中的数据进行聚合操作。例如,下面的代码将一个DataFrame按照`name`列进行分组,并计算每个组中`score`列的平均值: ```python import pandas as pd df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'], 'score': [80, 70, 90, 85, 75]}) result = df.groupby('name').mean() print(result) ``` 输出结果为: ``` score name Alice 82.5 Bob 72.5 Charlie 90.0 ``` 除了`mean()`函数,还可以使用其他聚合函数,例如`sum()`、`count()`、`median()`、`max()`、`min()`等等。可以在`groupby()`函数后面直接调用这些函数进行聚合操作。 另外,还可以使用`agg()`函数对每个分组进行不同的聚合操作,例如下面的代码将`score`列按照`name`列进行分组,分别计算每个组中`score`列的和、平均值和中位数: ```python import pandas as pd df = pd.DataFrame({'name': ['Alice', 'Bob', 'Charlie', 'Alice', 'Bob'], 'score': [80, 70, 90, 85, 75]}) result = df.groupby('name').agg({'score': ['sum', 'mean', 'median']}) print(result) ``` 输出结果为: ``` score sum mean median name Alice 165 82.5 82.5 Bob 145 72.5 72.5 Charlie 90 90.0 90.0 ``` 可以看到,`agg()`函数可以对每个分组进行不同的聚合操作,并将结果以多级索引的形式返回。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值