Pandas 和袖扣的阴谋

Pandas 和袖扣的阴谋


Pandas 是 Python 中非常流行的用于数据分析的库。它也有自己的绘图功能支持。但是,Pandas 图不提供可视化中的交互性。值得庆幸的是,可以使用Pandas 数据框对象构建 plotly 的交互式和动态图

我们首先从简单的列表对象构建一个 Dataframe。

data = [['Ravi',21,67],['Kiran',24,61],['Anita',18,46],['Smita',20,78],['Sunil',17,90]]
df = pd.DataFrame(data,columns = ['name','age','marks'],dtype = float)

数据框列用作图形对象轨迹的xy属性的数据值在这里,我们将使用名称标记生成条形跟踪

trace = go.Bar(x = df.name, y = df.marks)
fig = go.Figure(data = [trace])
iplot(fig)

一个简单的条形图将显示在 Jupyter 笔记本中,如下所示 –

熊猫数据帧

Plotly 建立在d3.js之上,特别是一个图表库,可以使用另一个名为Cufflinks 的直接与Pandas 数据帧一起使用

如果尚不可用,请使用您最喜欢的包管理器(如pip)安装 cufflinks 包,如下所示 –

pip install cufflinks
or
conda install -c conda-forge cufflinks-py

首先,将袖扣与其他库(如Pandasnumpy)一起导入,这些库可以将其配置为离线使用。

import cufflinks as cf
cf.go_offline()

现在,您可以直接使用Pandas 数据框来显示各种绘图,而无需像我们之前所做的那样使用来自graph_objs 模块的跟踪和图形对象

df.iplot(kind = 'bar', x = 'name', y = 'marks')

条形图,与之前的非常相似,如下所示 –

Pandas 数据框袖扣

来自数据库的 Pandas 数据框

它可以由不同类型数据库中的数据填充,而不是使用 Python 列表来构建数据框。例如,可以将 CSV 文件、SQLite 数据库表或 mysql 数据库表中的数据提取到 Pandas 数据帧中,最终使用Figure 对象Cufflinks 接口绘制图形

要从CSV 文件中获取数据,我们可以使用Pandas 库中的read_csv()函数。

import pandas as pd
df = pd.read_csv('sample-data.csv')

如果数据在SQLite 数据库表中可用,则可以使用SQLAlchemy 库进行检索,如下所示 –

import pandas as pd
from sqlalchemy import create_engine
disk_engine = create_engine('sqlite:///mydb.db')
df = pd.read_sql_query('SELECT name,age,marks', disk_engine)

另一方面,来自MySQL 数据库的数据在 Pandas 数据框中检索如下 –

import pymysql
import pandas as pd
conn = pymysql.connect(host = "localhost", user = "root", passwd = "xxxx", db = "mydb")
cursor = conn.cursor()
cursor.execute('select name,age,marks')
rows = cursor.fetchall()
df = pd.DataFrame( [[ij for ij in i] for i in rows] )
df.rename(columns = {0: 'Name', 1: 'age', 2: 'marks'}, inplace = True)

觉得文章有用?

点个广告表达一下你的爱意吧 !😁