pd.read_sql()知道这些就够用了

pandas.read_sql(sql, con, index_col=None, coerce_float=True, params=None, parse_dates=None, columns=None, chunksize=None)
  • 各参数意义

    • sql:SQL命令字符串
    • con:连接sql数据库的engine,一般可以用SQLalchemy或者pymysql之类的包建立
    • index_col: 选择某一列作为index
    • coerce_float:非常有用,将数字形式的字符串直接以float型读入
    • parse_dates:将某一列日期型字符串转换为datetime型数据,与pd.to_datetime函数功能类似。可以直接提供需要转换的列名以默认的日期形式转换,也可以用字典的格式提供列名和转换的日期格式,比如{column_name: format string}(format string:"%Y:%m:%H:%M:%S")。
    • columns:要选取的列。一般没啥用,因为在sql命令里面一般就指定要选择的列了
    • chunksize:如果提供了一个整数值,那么就会返回一个generator,每次输出的行数就是提供的值的大小。
  • 设置参数can–>创建数据库链接的两种方式

  1. 用sqlalchemy构建数据库链接
import pandas as pd
import sqlalchemy
from sqlalchemy import create_engine

# 用sqlalchemy构建数据库链接engine
connect_info = 'mysql+pymysql://{}:{}@{}:{}/{}?charset=utf8'
engine = create_engine(connect_info)
# sql 命令
sql_cmd = "SELECT * FROM table"
df = pd.read_sql(sql=sql_cmd, con=engine)
  1. 用DBAPI构建数据库链接
import pandas as pd
import pymysql

# sql 命令
sql_cmd = "SELECT * FROM table"

# 用DBAPI构建数据库链接engine
con = pymysql.connect(host=localhost, user=username, password=password, database=dbname, charset='utf8', use_unicode=True)
df = pd.read_sql(sql_cmd, con)
  • read_sql与read_sql_table、read_sql_query

read_sql本质上是read_sql_table、read_sql_query的统一方式。

三者都return返回DataFrame。

  1. read_sql_table

Read SQL database table into a DataFrame.

  1. read_sql_query

Read SQL query into a DataFrame.

  • 参考

  1. read_sql()官方文档
  2. Arkenstone
  3. 编程之路

.
.
.
2019-01-22 21:37:52写于邹平

<think>好的,用户想进行应用程序客户投诉的数据分析,询问方法、工具和流程。我需要结合之前的引用内容,尤其是引用2中的运营商投诉分析方法,还有引用4中的数据驱动决策。首先,用户需要明确分析目标,比如定位问题还是预警。然后数据采集,可能包括结构化和非结构化数据,比如日志和文本。接着数据清洗,处理缺失值和重复数据。然后是分析方法,可能需要分类、文本挖掘或者聚类,引用2提到了跨域融合数据,可能需要结合用户行为数据。工具方面,Excel、Python、Tableau这些常见工具应该够用。流程上,从目标到数据准备、分析、洞察、报告和闭环。另外,用户可能需要知道如何分组测试或者用漏斗分析,引用3提到了AB实验和漏斗图,可能在优化阶段有用。最后要确保建议具体,结合案例,比如文本分析找出高频词,或者构建预警模型。还要注意用户可能没有提到的深层需求,比如实时分析或者自动化报告,这些可以作为优化建议提到。</think>### App客户投诉数据分析方法 #### 一、分析框架设计 1. **明确分析目标** - 问题定位型分析:识别高频投诉类型(如支付失败、闪退等)及其根因[^2] - 趋势预警型分析:构建投诉量预测模型,设置阈值触发预警 - 用户体验优化:结合用户行为数据(如操作路径、停留时长)分析投诉关联性[^3] 2. **数据采集维度** - 结构化数据:用户属性(设备型号、OS版本)、投诉类型、处理时效 - 非结构化数据:投诉文本描述、客服对话记录 - 补充数据源:应用崩溃日志、版本更新记录、营销活动时间轴 ```python # 数据集成示例(Pandas) import pandas as pd complaints = pd.read_csv('complaints.csv') crash_logs = pd.read_json('crash_logs.json') user_behavior = pd.read_sql('SELECT * FROM user_actions', con=engine) merged_data = pd.merge(complaints, crash_logs, on='session_id', how='left') ``` #### 二、核心分析方法 1. **多维下钻分析** - 使用帕累托分析确定Top20%关键投诉类型 - 版本维度对比:$$ \frac{投诉量_v}{活跃用户数_v} \times 100\% $$ - 设备维度异常检测:计算Z-score $$ Z = \frac{x - \mu}{\sigma} $$ 2. **文本挖掘技术** - 应用TF-IDF算法提取关键词:$$ \text{TF-IDF}(t,d) = \text{TF}(t,d) \times \text{IDF}(t) $$ - 构建LDA主题模型发现潜在投诉模式 - 情感分析判断用户情绪强度(使用VADER或BERT模型) 3. **预测模型构建** 采用XGBoost构建投诉预警模型: $$ \hat{y} = \sum_{k=1}^K f_k(x_i), \quad f_k \in \mathcal{F} $$ 特征工程包含: - 用户历史投诉次数 - 最近版本更新变动度 - 同类用户平均投诉率 #### 三、工具选型建议 | 分析阶段 | 推荐工具 | 典型应用场景 | |----------------|------------------------------|------------------------------| | 数据清洗 | Python(pandas)、OpenRefine | 处理缺失值、异常值标准化 | | 可视化分析 | Tableau、Power BI | 构建投诉趋势仪表盘 | | 文本分析 | Jupyter Notebook(NLTK,gensim)| 投诉内容主题聚类 | | 预测建模 | Python(scikit-learn,XGBoost) | 投诉量时间序列预测 | #### 四、实施流程 1. **数据准备阶段**(2-3天) - 建立数据血缘图谱,确认各系统数据更新时间窗口 - 开发ETL脚本实现自动化数据管道 2. **探索性分析**(3-5天) - 制作投诉地理热力图 - 绘制版本迭代与投诉量相关性矩阵 3. **深度建模**(1-2周) - 构建用户投诉倾向评分卡 - 开发实时投诉监控API接口 4. **成果落地**(持续迭代) - 将预警模型集成到客服工单系统 - 建立AB测试机制验证优化方案效果 #### 五、关键成功要素 1. 建立跨部门数据协同机制(产品、运营、技术团队)[^2] 2. 设置数据质量监控看板,确保投诉分类准确性>95% 3. 采用渐进式分析策略,优先解决影响80%用户体验的关键问题[^4]
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值