相关疑难解决方法(0)

如何将SQL查询结果转换为PANDAS数据结构?

任何有关此问题的帮助将不胜感激.

所以基本上我想对我的SQL数据库运行查询并将返回的数据存储为Pandas数据结构.

我附加了查询代码.

我正在阅读关于Pandas的文档,但是我有问题确定我的查询的返回类型.

我试图打印查询结果,但它没有提供任何有用的信息.

谢谢!!!!

from sqlalchemy import create_engine

engine2 = create_engine('mysql://THE DATABASE I AM ACCESSING')
connection2 = engine2.connect()
dataid = 1022
resoverall = connection2.execute("
  SELECT 
      sum(BLABLA) AS BLA,
      sum(BLABLABLA2) AS BLABLABLA2,
      sum(SOME_INT) AS SOME_INT,
      sum(SOME_INT2) AS SOME_INT2,
      100*sum(SOME_INT2)/sum(SOME_INT) AS ctr,
      sum(SOME_INT2)/sum(SOME_INT) AS cpc
   FROM daily_report_cooked
   WHERE campaign_id = '%s'", %dataid)
Run Code Online (Sandbox Code Playgroud)

所以我想知道我的变量"resoverall"的格式/数据类型是什么,以及如何使用PANDAS数据结构.

python mysql data-structures pandas

97
推荐指数
9
解决办法
19万
查看次数

使用Python的matplotlib在x轴上绘制日期

我试图绘制日期信息.我有一个日期列表,格式为"01/02/1991".

我通过执行以下操作转换它们:

x = parser.parse(date).strftime('%Y%m%d'))
Run Code Online (Sandbox Code Playgroud)

这使 19910102

然后我尝试使用num2date

import matplotlib.dates as dates
new_x = dates.num2date(x)
Run Code Online (Sandbox Code Playgroud)

绘图:

plt.plot_date(new_x, other_data, fmt="bo", tz=None, xdate=True)
Run Code Online (Sandbox Code Playgroud)

但是我收到了一个错误.它说"ValueError:年份超出范围".有解决方案吗

python datetime matplotlib

56
推荐指数
3
解决办法
16万
查看次数

如何使matplotlib/pandas条形图看起来像直方图?

绘制bar和之间的差异hist

由于在一些数据pandas.Series,rv,之间是有差异

  1. hist直接调用数据绘图

  2. 计算直方图结果(with numpy.histogram)然后用bar

示例数据生成

%matplotlib inline

import numpy as np
import pandas as pd
import scipy.stats as stats
import matplotlib
matplotlib.rcParams['figure.figsize'] = (12.0, 8.0)
matplotlib.style.use('ggplot')

# Setup size and distribution
size = 50000
distribution = stats.norm()

# Create random data
rv = pd.Series(distribution.rvs(size=size))
# Get sane start and end points of distribution
start = distribution.ppf(0.01)
end = distribution.ppf(0.99)

# Build PDF and turn into pandas Series
x = …
Run Code Online (Sandbox Code Playgroud)

python plot numpy matplotlib pandas

5
推荐指数
1
解决办法
2019
查看次数

如何仅显示每个第 n 个轴标签

我用来matplotlib制作散点图,并且 x 轴标签一起运行到难以辨认的程度。这是所有相关代码:

plt.xticks(rotation=30)
plt.scatter(x,y)
plt.show()
Run Code Online (Sandbox Code Playgroud)

xy分别是 x 轴值和 y 轴值的列表。

这篇 SO 帖子(如何防止 x 轴标签重叠)提出了同样的问题,但如果那里有答案,我无法梳理出来。

这篇文章(Cleatest way to hide every nth tick label in matplotlib colorbar?)在颜色条的上下文中提出了类似的问题。所有似乎对人们有效的反应都是以下形式

for label in cbar.ax.xaxis.get_ticklabels()[::2]:
    label.set_visible(False)
Run Code Online (Sandbox Code Playgroud)

或者

plt.setp(cbar.ax.get_xticklabels()[::2], visible=False)
Run Code Online (Sandbox Code Playgroud)

其中cbar是提问者的颜色条对象。例如,每次我尝试根据我的情况调整这些解决方案时

plt.xticks(rotation=30)
plot = plt.scatter(x,y)
plt.setp(plot.get_xticklabels()[::2], visible=False)
plt.show()
Run Code Online (Sandbox Code Playgroud)

我收到类似错误

AttributeError: 'PathCollection' object has no attribute 'get_xticklabels'.
Run Code Online (Sandbox Code Playgroud)

与上面类似,如果我尝试plot.ax.get_xticklabels()我会得到AttributeError: 'PathCollection' object has no attribute 'ax',等等。

如何仅显示每个第 n 个轴标签?

matplotlib

5
推荐指数
1
解决办法
9589
查看次数

标签 统计

matplotlib ×3

python ×3

pandas ×2

data-structures ×1

datetime ×1

mysql ×1

numpy ×1

plot ×1