当运行plot()数据帧或系列的方法时,python会抛出错误.错误的最后一行是NameError: name '_converter' is not defined
我正在使用Python 3.6,并且所有其他功能都按预期工作,因此不确定可能导致此问题的原因.
下面是导致问题的代码示例,下面是导致该错误的错误.
import pandas as pd
import numpy as np
import matplotlib
import matplotlib.pyplot as plt
ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
ts.plot()
Run Code Online (Sandbox Code Playgroud)
返回的错误如下所示:
NameError Traceback (most recent call last)
<ipython-input-336-8fe4bd433d4d> in <module>()
----> 1 ts.plot()
2
3 plt.plot(ts)
c:\users\fguih\appdata\local\programs\python\python36\lib\site-packages\pandas\plotting\_core.py in __call__(self, kind, ax, figsize, use_index, title, grid, legend, style, logx, logy, loglog, xticks, yticks, xlim, ylim, rot, fontsize, colormap, table, yerr, xerr, label, secondary_y, **kwds)
2501 colormap=colormap, …Run Code Online (Sandbox Code Playgroud) db.movieDetails.find(
{ year: 2013, imdb.rating: Pg-13, award.wins: 0 },
{ title: 1, _id: 0 }
).pretty();
Run Code Online (Sandbox Code Playgroud)
mongo shell返回此错误
2016-08-13T09:08:00.648 + 0200 E QUERY [thread1] SyntaxError:missing:属性id @(shell):1:60
为什么?先感谢您!
我想对行和列应用布尔掩码.
同
X = np.array([[1,2,3],[4,5,6]])
mask1 = np.array([True, True])
mask2 = np.array([True, True, False])
X[mask1, mask2]
Run Code Online (Sandbox Code Playgroud)
我期待输出
array([[1,2],[4,5]])
Run Code Online (Sandbox Code Playgroud)
代替
array([1,5])
Run Code Online (Sandbox Code Playgroud)
众所周知
X[:, mask2]
Run Code Online (Sandbox Code Playgroud)
可以在这里使用,但这不是一般情况的解决方案.
我想知道它是如何在引擎盖下工作的,为什么在这种情况下结果是array([1,5]).
保存数据时
data.to_csv(outp_file, encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
我有时会遇到这样的错误
UnicodeEncodeError:'utf-8'编解码器无法编码233-234位置的字符:不允许使用代理
在python3中,您可以简单地替换这些字符
>> "abc\udc34xyz".encode('utf-8', 'replace').decode('utf-8')
'abc?xyz'
Run Code Online (Sandbox Code Playgroud)
但是这里我有一个N行和M列的数据帧.我可以用代理删除行,但跳过整个数据帧并不好.
问题是我不知道它们在哪些行和哪些列中.
我正在寻找一种可以通过以下方式应用的解决方案
try:
data.to_csv(outp_file, encoding='utf-8')
except UnicodeEncodeError:
# process data and save it without surrogates...
Run Code Online (Sandbox Code Playgroud)
有帮助吗?
我有以下形式的汇总查询
db.mycollection.aggregate([
{
"$match":
{
"Time": { $gte: ISODate("2016-01-30T00:00:00.000+0000") }
}
},
{
"$group":
{
"_id":
{
"day": { "$dayOfYear": "$Time" },
"hour": { "$hour": "$Time" }
},
"Dishes": { "$addToSet": "$Dish" }
}
},
{
"$group":
{
"_id": "$_id.hour",
"Food":
{
"$push":
{
"Day": "$_id.day",
"NumberOfDishes": { "$size":"$Dishes" }
}
}
}
},
{
"$project":
{
"Hour": "$_id",
"Food": "$Food",
"_id" : 0
}
},
{
"$sort": { "Hour": 1 }
}
]);
Run Code Online (Sandbox Code Playgroud)
与其在一小时内执行上述操作,例如 0-1,1-2,2-3,3-4,4-5,...,23-24,我希望能够在两小时内完成此操作持续时间。例如 0-2,2-4,4-6,...,22-24。有没有办法做到这一点?
我一直在玩指针,不小心输入了printf的错误参数
#include <stdio.h>
int
main (void)
{
double * p1;
double * p2;
double d1, d2;
d1 = 1.2345;
d2 = 2.3456;
p1 = &d1;
p2 = &d2;
printf ("p1=%p\n, *p1=%g\n", (void *)p1, *p1);
printf ("p2=%p\n, *p2=%g\n", (void *)p2, p2); /* third argument should be *p2 */
return 0;
}
Run Code Online (Sandbox Code Playgroud)
输出是
警告:格式'%g'需要类型为'double'的参数,但参数3的类型为'double*'
p1 = 0x7ffc9aec46b8,*p1 = 1.2345
p2 = 0x7ffc9aec46c0,*p2 = 1.2345
为什么在这种情况下输出p2总是等于输出*p1?
我使用gcc(v5.4.0)编译器及其C(gnu11)的默认标准.
mongodb ×2
pandas ×2
python ×2
c ×1
matplotlib ×1
mongo-shell ×1
numpy ×1
pointers ×1
printf ×1
python-3.x ×1
time-series ×1