作者文章归档:reno

Pandas 基本操作 和应用


Pandas

python 最强的数据分析数据处理工具包

1 主要处理 一维 二维数据

2 成熟的io 读取功能

处理浮点与非浮点数据里的缺失数据,表示为 NaN;
大小可变:插入或删除 DataFrame 等多维对象的列;
自动、显式数据对齐:显式地将对象与一组标签对齐,也可以忽略标签,在 Series、DataFrame 计算时自动与数据对齐;
强大、灵活的分组(group by)功能:拆分-应用-组合数据集,聚合、转换数据;
把 Python 和 NumPy 数据结构里不规则、不同索引的数据轻松地转换为 DataFrame 对象;
基于智能标签,对大型数据集进行切片、花式索引、子集分解等

Read more

DRF 视图集


demo

from django.contrib.auth.models import User
from django.shortcuts import get_object_or_404
from myapps.serializers import UserSerializer
from rest_framework import viewsets
from rest_framework.response import Response

class UserViewSet(viewsets.ViewSet):
    """
    A simple Vie

Read more

DRF 序列化器


把正常数据类型入库

在业务逻辑中解耦了对数据的序列化和反序列化

并且 实现了对模型类的增删改查

最终在一般场景下没有其他事情了

序列化 把数据库对象(特定的数据类型)转为通用数据类型

流程 模型类对象---> (序列化器)python 字典-------> (渲染器)json 字符串

实现流程代码

from datetime import datetime

# 定义一个python 类 (特殊数据类型)
class Comment:
    def __init__(self, email, content, created=None):
        self.email =

Read more

python 实现鞋带算法


from pprint import pprint

point_list = [(0, 0), (1, 0), (1, 1), (0, 1)]

def shoelace_func(point_list):

# todo 数据校验
length = len(point_list)
result = 0
for i in range(length):
    if i == length - 1:
        result += (point_list[i][0] * point_list[0][1] - point_list[i][1] * point_list[0][0])
    els

Read more

Anaconda


Anaconda 作为环境-包管理工具

地址 :https://www.anaconda.com/

优势: 解释器版本切换方便,并且可以兼容pip 自带很多科学计算库

缺点:比较大 500M左右 conda的库安装使用不如pip 全面

建议: conda配合 pip 使用 或者安装minianaconda 只有60M左右

对比 virtualenv 可以切换解释器版本比较好 但没那么轻量

安装后会默认使用conda环境也可以取消

conda config --set auto_activate_base false

命令

1、首先在所在系统中安装Anaconda。可以打开命令行输入cond

Read more

python 基础 --变量及数据类型


变量

用一句不算正确但很好理解的话来解释变量: 变量是代码中数据的标识,计算,操作,赋值,输出,输入全部可以通过变量来完成

python中变量定义非常简单:
a = 1
'a' 为变量名 ;'=' 符号 代表 定义或者重新赋值一个变量; '1' 是变量值即数据

python数据类型

Python 常用数据类型

上图Python为内置一些常用基本数据类型,本质上计算里数据全是0,1 的集合,但这个过于底层对人类使用并不友好所以数据替代的东西,即数据类型;
所以不同的数据类型实质上对应的是数据的逻辑存储和物理存储方式,以及现实中人对于不同数据的理解;
在实际开发中对不同数据类型可以有不同的选择,实际上最好的方式是只

Read more

Mysql 远程登录问题解决


Mysql 远程登录问题解决

解决之前先做好备份工作不然出错会绝望

1 修改 配置文件

sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf

修改绑定地址

​ bind-address = 127.0.0.1 # 找到这个

改为

bind-address = 0.0.0.0

保存退出

:wq

2 更新信息到数据库

进入数据库

mysql -u root -p

2.1 查看信息

use mysql; select User,authentication_string,Host from user;

2.2 刷新信息

flush privileges;

2.3再次

Read more

ConfigParser 模块 使用


ConfigParser 模块 使用

作用 可以帮助我们读取配置信息的模块

准确说是把一些不想写死或者不愿意公开但要用到的信息封装起来使用的模块

使用方法 把信息先存在ini 文件中格式如下

----------------config.ini--------------

 [db] 
 db_host = 127.0.0.1 
 db_port = 69 
 db_user = root 
 db_pass = root 
 host_port = 69

[concurrent] 
thread = 10 
processor = 20

 

使用模块

import configpar

Read more

django + uwsgi 部署上线


django + uwsgi 部署上线

开发阶段使用运行命令

1 # 事实上runserver 就是django 自带的一个服务器 因为收发请求性能较差仅在开发阶段使用, ​项目部署我们一般使用uwsgi 服务器来处理动态请求 2 python manage.py runserver 啥是uwsgi?

一个轻量级的python服务器 遵从 wsgi 协议,简单好用就是了

流程

安装uwsgi

1 pip install uwsgi 2 # 无法成功下载试试更新pip 或者换国内源

更改项目配置

1 #线上模式 2 ​ 3 # settings 中 4 ​ 5 DEBUG = FALSE 6 ​

Read more

celery 使用


celery 是啥?

由python 编写 的异步生产者消费者设计模式下 的实例

举个例子:

现有两个进程 生产者进程A 消费者进程B

现在的情况是

逻辑推导:

A 产出栗子 B 要吃栗子 那么这两个进程必然是 B依赖于A 耦合度很高且是一个耗时操作

B -----> (发送请求给A)------->(等待A 产出栗子也许会很久)------->(A响应栗子给B)------->(B得到栗子)

B 可能是个很多服务的集成后台之类很忙大忙人不想一直等等等

那么 celery 的任务就是 替B 去等

逻辑推导:

A 产出栗子 B 要吃栗子 C celery

B (替我去取栗

Read more