pandas常用函数(持续更新中)

1、数据结构

        1.1 Series

             Series可以看作是一维数组,由一组数据和索引构成,可以包含任何数据类型,通常用作DataFrame的单个列。

        1.2 DataFrame

             DataFrame可以看作是二维表格,由多行多列构成,每列都可以看作是一个Series。

2、数据校验

        2.1 获取大小

#返回一个元组 (number of rows, number of columns)
DataFrame.shape

#返回行数
DataFrame.shape[0]

#返回列数
DataFrame.shape[1]

        2.2 显示前n行或后n行

#返回前n行
DataFrame.head(n)

#如果n省略的话默认返回前5行
DataFrame.head()

#n可以自由取值,令n=3,返回前3行
DataFrame.head(3)

#返回后n行
DataFrame.tail(n)

#如果n省略的话默认返回后5行
DataFrame.head()

#n可自由取值,令n=6,返回后6行
DataFrame.head(6)

3、数据选取

        数据选取可直接选取,或用loc或用iloc,loc基于标签,iloc基于整数

import pandas as pd

# 直接选取数据
df = pd.DataFrame({
    'name':['xiaoming','xiaohong',xiaoqiang],
    'age':[12,13,12],
    'gender':['male','female','male']
})

# 选取单列数据
print(df['name'])

# 选取多列数据
print(df[['name','age']])



# 使用.loc选取数据,loc基于标签(行名或列名)选取数据,可用切片,左闭右闭
# 选取单行数据
print(df.loc[0])    # 若在df中有index=['x','y','z'],也可写print(df.loc(['x']))

# 选取连续多行数据
print(df.loc[0:2]) # 取行索引为0-2的数据

# 选取不连续多行数据
print(df.loc[[0,2]])     # 取行索引为0,2的数据

# 选择行和列
print(df.loc[[0,1], 'name'])    # 取行索引为0,1列名为name的数据,也可用切片






# 使用.iloc选取数据,iloc基于位置(行号或列号)选取数据,可用切片,遵循左闭右开原则
# 选取单行数据
print(df.iloc[0])   # 取索引为0的数据

# 选取多行数据
print(df.iloc[1:3])  # 选取索引为1-2的数据

# 选取不连续多行数据
print(df.iloc[[0,1]])    # 选取第0行和第1行数据

# 选取行和列
print(df.iloc[[0,1], 0])    # 选取第0行和第1行,第0列,也可用切片

4、聚合操作

        4.1  .agg()

        .agg()用于对 DataFrame 或 Series 进行聚合操作。它可以同时对多列应用多种聚合函数,并返回一个汇总结果,通常是标量值、Series 或 DataFrame。

import pandas as pd

# 应用于Series
# 创建一个 Series
s = pd.Series([1, 2, 3, 4, 5])

# 应用单个聚合函数
print(s.agg('sum'))  # 输出:15

# 应用多个聚合函数
print(s.agg(['sum', 'mean', 'max']))  # 输出:sum 15, mean 3.0, max 5



# 应用于DataFrame
# 创建一个 DataFrame
df = pd.DataFrame({
    'A': [1, 2, 3],
    'B': [4, 5, 6]
})

# 对每列应用单个聚合函数
print(df.agg('sum'))

# 输出结果:
A     6
B    15
dtype: int64

# 对每列应用多个聚合函数
print(df.agg(['sum', 'mean', 'max']))

# 输出
         A     B
sum    6.0  15.0
mean   2.0   5.0
max    3.0   6.0

# 对不同列应用不同的聚合函数
print(df.agg({'A': 'sum', 'B': ['min', 'max']}))

# 输出
         A     B
max    NaN   6.0
min    NaN   4.0
sum    6.0   NaN

        实际应用场景:

# 数据汇总
df.agg(['sum', 'mean', 'std'])

# 分组聚合
df.groupby('Category').agg({'Value': ['sum', 'mean']})

# 多列不同聚合
df.agg({'A': 'sum', 'B': ['min', 'max']})

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值