分类目录归档:实用技能

DRF的Request


DRF API Guide

1. Requests

REST frameworkRequest继承自标准的HttpRequest,增加对REST框架灵活的请求解析和请求认证的支持。

1.1 Request parsing/请求解析

REST frameworkRequest提供了灵活的请求解析,允许你以操作form表单数据的方式处理JSON数据或其它mediatypes

.data

request.data返回request body的解析内容,这类似于标准的request.POSTrequest.FILES

.query_params

request.query_params...

Read more

pandas groupby的分组操作


在pandas中使用groupby进行分组操作,当需要对每个分组单独使用agg进行操作的时候,可以使用下面的

df.groupby(['员工姓名','单位部门']).agg({'执行日期':lambda x:(x.max()-x.min())/x.count()})

其中x代表的是分组后的每个组的DataFrame,所以在x上的x.max()就是每个组的DataFrame.max(),这样就可以在某列上做更多复杂的计算。

Read more

Pandas中,`df[]`、`df.loc` 和 `df.iloc`区别


在Pandas中,df[]df.locdf.iloc 是用于访问DataFrame数据的三种主要方式。它们之间的区别主要体现在索引方式和功能上:

  1. df[]
  2. 索引方式:使用列名直接进行索引。
  3. 功能:主要用于获取或设置DataFrame的单列数据,返回一个Series对象。
  4. 示例series_A = df['A']

  5. df.loc

  6. 索引方式:基于标签(行标签和列标签)进行索引。
  7. 功能:可以同时使用行标签和列标签来选取数据,支持切片、布尔索引等复杂操作。
  8. 示例df.loc[0:1, :] 选取第0行到第1行的所有列数据;df.loc[df['B'] > 4, :]...

Read more

WPS Excel中,快速填充0到单元格的方法


在WPS Excel中,快速填充0到单元格的方法有多种,包括使用快捷键、定位空值、拖动填充柄等。

在数据处理中,经常需要将空白单元格填充为0,手动操作既费时又易出错。WPS Excel提供了多种快速填充功能,极大地提升了工作效率。以下是关于WPS Excel如何快速填充0的详细方法:

使用快捷键和定位功能

Ctrl+H替换法:打开WPS表格,选中需要填充的单元格区域,按“Ctrl+H”快捷键调出“查找和替换”窗口,在“替换为”框中输入0,点击“全部替换”,即可将所有选中区域的空白单元格替换为0。 Ctrl+Enter快速填充:按住Ctrl键并单击所有空白单元格以选中它们,然后输入数值0,...

Read more

POLARS平替pandas的可能?


POLARS平替pandas的可能?

Polars作为一个新兴的高性能DataFrame库,是Pandas的潜在替代品,尤其是在处理大规模数据集时表现出了显著的优势。以下从多个方面详细分析Polars作为Pandas替代品的可能性:

性能优势

  • Polars的设计充分考虑了性能,通过并行处理和内存优化技术,使其在处理大型数据集的速度上明显快于传统方法。
  • 利用Rust的特性,Polars能够高效地遍历内存缓存、减少冗余的复制,并在并行性中最小化争用,从而提高数据处理速度。
  • 在实际应用中,Polars在读取数据和应用函数上的速度快于Pandas和其他框架,尤其是在执行apply函数时表现惊艳...

Read more

pandas使用excel为数据源比较相同小数不成功的解决方法


问题描述

pandas读取两个excel,将两个excel中的不同列进行汇总形成合计数,再对比合计数是否相等,以校验两个excel的数据是否一致。 在对比合计数是否相等时,出现pd.to_excel的时候,导出的excel中的合计数是相等的,但是使用下面方法对比合计数时,却显示“不一致”

summary_df_group['合计'] = summary_df_group[df_columns_staff_of_summary + df_columns_dept_of_summary].sum(axis=1).round(decimals=2)
detail_df_grou...

Read more

pandas速记手册


导入包:

In [1]: import numpy as np

In [2]: import pandas as pd

创建序列:

In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8])

In [4]: s
Out[4]: 
0    1.0
1    3.0
2    5.0
3    NaN
4    6.0
5    8.0
dtype: float64

使用date_range()和NumPy创建DataFrame:

In [3]: s = pd.Series([1, 3, 5, np.nan, 6, 8])

In ...

Read more

Django的信号


Django的信号

信号是什么?

信号可以理解为Django内部的一种事件发布-订阅机制。某个事件被触发,则所有订阅和关注该事件的订阅都会接收到通知。

例如,当第三方应用关于Django应用配置发生改变的信号时:

def request_started_signal(sender, **kwargs):
    print("Request started")

class CommentConfig(AppConfig):
    default_auto_field = 'django.db.models.BigAutoField'
    nam...

Read more

pandas 常用操作记录


pandas 常用操作记录

读取excel时对空值的处理

# 正确的
df.fillna(dict.fromkeys(columns_float_list, 0), inplace=True)

# 错误的
df[columns_float_list].fillna(0, inplace=True)

iterrows时对新列赋值

# 正确的
    for index, row in df.iterrows():
        df.at[index,'备注'] = row[col_A] + row[col_B] )

# 错误的
    for index, ro...

Read more