速度搭建jupyter, 用pandas进行数据库数据分析

文章目录

  • 安装jupyter
  • 打开jupyter文档
  • 新建python文件
  • 链接数据库
    • 链接 Mysql
    • 链接 Redis
    • 链接 MongoDB
  • 查询数据
    • 查询 Mysql 数据库
    • map 用法
    • 常用时间转换方法
    • 根据关联列,合并两个文档
    • 分组数量统计
  • 其余常用方法

安装jupyter

pip3 install jupyter

打开jupyter文档

1: 在命令行输入以下命令
jupyter notebook
2:完成之后,Jupyter Notebooks 就会在默认网络浏览器打开,地址是:
http://localhost:8888/tree

新建python文件

速度搭建jupyter, 用pandas进行数据库数据分析_第1张图片

链接数据库

链接 Mysql

from sqlalchemy import create_engine

mysql_engine = create_engine('mysql+pymysql://mysql:[email protected]:3306/test_db?charset=utf8mb4') 

链接 Redis

import redis

redis_engine = redis.Redis(host='127.0.0.1', port=6381,db=0)

链接 MongoDB

from pymongo import MongoClient

mongo_client = MongoClient("mongodb://127.0.0.1:27017")
mongo_engine = mongo_client.test_mongo

查询数据

# 导入 pandas 
import pandas as pd

查询 Mysql 数据库

速度搭建jupyter, 用pandas进行数据库数据分析_第2张图片

map 用法

# 利用map,将时间戳转化为时分秒
df['需要转化的列'].map(调用的转化函数)

举例如下:
速度搭建jupyter, 用pandas进行数据库数据分析_第3张图片

常用时间转换方法

# 利用pandas自带方法,将时间戳转化为具体时间以及日期(此处转化为北京时间)
# 时间戳转化为具体时间
pd.to_datetime(df['created_time'], unit='s') + pd.Timedelta(hours=8)
# 时间戳转化为日期
pd.to_datetime(df['created_time']).dt.floor('d')

举例如下:
速度搭建jupyter, 用pandas进行数据库数据分析_第4张图片

根据关联列,合并两个文档

df1.merge(df2, how='left', left_on='df1_column', right_on='df2_column', sort=False, copy=False)

举例如下:
速度搭建jupyter, 用pandas进行数据库数据分析_第5张图片

速度搭建jupyter, 用pandas进行数据库数据分析_第6张图片

分组数量统计

	# 根据 class 统计学生数量
	df.set_index(['name_x', 'class']).count(level='class')  # 以学生姓名为唯一识别
	df.groupby(['class'], as_index=False).count()  # 以 class 分组

速度搭建jupyter, 用pandas进行数据库数据分析_第7张图片

速度搭建jupyter, 用pandas进行数据库数据分析_第8张图片

其余常用方法

# 文档合并
# pd.concat([df1,df2,df3,df4,df5,df6])

# 根据 mobile 列,删除重复数据
df = df.drop_duplicates('mobile')

# 取出 class =1 的数据
df[df['class']==1] 
# 取出 class =1 且 学生姓名为 李一 的数据
df[(df['class']==1) & (df['name_x']=='李一')] 

你可能感兴趣的:(数据分析)