03-Pandas的方法介绍

  1. str.startwith(),用于检查列中的值是否以指定的字符串开头

    df = patients[patients['conditions'].str.startswith("DIAB1") | patients["conditions"].str.contains(" DIAB1", regex=False)]
    

    regex=False代表不使用正则表达式进行匹配,而是直接查找子字符串。

  2. str.contains()用于检查值是否包含指定的字符串,示例见1

    df = patients[patients['conditions'].str.contains("DIAB1", case=False, na=False)]
    

    case=False表示不区分大小写,na=False将缺失值视为不匹配。

  3. pivot()方法用于重塑DataFrame,用于将行转换为列,或者将列转换为行

    result = department.pivot(index='id', columns='month', values='revenue').reindex(columns=columns).rename(columns=lambda x:f'{x}_Revenue').reset_index()
    

    其中参数index表示新DataFrame的索引列,即原DataFrame中的行标签
    参数columns表示DataFrame的列,即原DataFrame中的列标签
    参数values表示要填充到新DataFrame中的值,通常是原DataFrame中的数据

  4. reindex()用于重新索引,可以用于DataFrameSeries,可以填充缺失值

  5. dropna=False指定保留存在缺失值的行

    df = transactions.groupby(['country','month'],dropna = False).agg(...)
    

    pandas中,groupby方法不接受dropna参数,它本身就是默认保留所有行的,而在聚合函数内部会默认忽略缺失值,它通常用于DataFrame.dropna(),上述代码中agg()是一个聚合函数

  6. agg()Pandas 中一个非常强大的函数,它允许用户对 DataFrameSeries对象的分组数据进行多种聚合操作。

    result = sales_df.groupby(['country', 'year']).agg({  
    'sales': ['sum', 'mean', 'max']  
    })  
    result.columns = ['total_sales', 'average_sales', 'max_sales'] 
    

    当使用字典作为 agg() 的参数时,字典的键是列名,值是聚合函数的名称或自定义函数。

    result_df = transactions_copy.groupby(['month', 'country'], dropna=False).agg(
        trans_count=('id', 'count'),  # 计算总交易数量
        approved_count=('state', lambda x: (x == 'approved').sum()),  # 计算已批准交易数量
        trans_total_amount=('amount', 'sum'),  # 计算总交易金额
        approved_total_amount=('amount', lambda x:sum(x[transactions_copy["state"]=="approved"]))  # 计算已批准交易总金额
    ).reset_index()
    
  7. strftime()datetime模块中的函数,用于格式化日期和时间

    transactions_copy['trans_date'] = pd.to_datetime(transactions_copy['trans_date'])
    transactions_copy['month'] = transactions_copy['trans_date'].dt.strftime('%Y-%m')
    

    %Y是年份,%m是月份,%d是日期,%H是小时,%M是分钟,%S是秒钟

  8. cumsum()方法用于计算数组或序列的累积和

    	df['sum'] = df['weight'].cumsum()
    

    它返回一个新的数组或序列,其中每个元素是原来的数据对应位置及之前所有位置元素的和

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值