到目前为止,我一直在使用Pyramid从python包中的文件夹中提供静态资源,如文档中所述:
config.add_static_view('static', 'myapp:static')
Run Code Online (Sandbox Code Playgroud)
并从模板加载它们如下:
<script type="text/javascript" src="{{ request.application_url }}/static/js/jquery-1.7.1.min.js"></script>
Run Code Online (Sandbox Code Playgroud)
但是,我注意到Chrome会发出如下警告:
Resource interpreted as Stylesheet but transferred with MIME type apache/2.2.14: "http://mydomain.com/static/js/jquery-1.7.1.min.js"
Run Code Online (Sandbox Code Playgroud)
要么
Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://mydomain.com/static/js/jquery-1.7.1.min.js"
Run Code Online (Sandbox Code Playgroud)
这在硬刷新时发生,并且似乎在3-4中随机资源加载<head>了错误的Content-Type标头(根据Pyramid文档,标头由文件扩展名确定).
我没有能够推断出如何设置错误标头的模式.有时,它适用text/plain于javascript/CSS文件,有时它是一个类似的路径/static/js/something.js(并且此路径与请求URL无关),有时它是Server标题的值,apache/2.2.14如上所述.
这是一个很大的问题,因为当返回带有错误内容类型的CSS时,它不会被渲染,这会破坏整个页面.我通过捕获/staticApache的请求,并使用它来提供静态资产,同时让所有其他请求通过金字塔来解决这个问题.我不再在Chrome中看到错误的MIME类型警告.但是,我想知道是否有人遇到过这个问题,以及它是否是金字塔错误,或者我是否在做其他错误.
编辑:我忘了提供我如何部署我的应用程序的规格.生产服务器运行Apache 2.2,应用程序在mod_wsgi下运行.我遵循的过程几乎是本教程中逐字描述的:http://docs.pylonsproject.org/projects/pyramid/en/1.0-branch/tutorials/modwsgi/index.html.重要提示:只有通过mod_wsgi在Apache上运行时才会出现此问题.当我在服务员本地运行应用程序时,Content-Type标头始终是正确的.
假设这个数组:
var members = [
{firstName: 'Michael', weight: 2},
{firstName: 'Thierry', weight: 1},
{firstName: 'Steph', weight: 3},
{firstName: 'Jordan', weight: 3},
{firstName: 'John', weight: 2}
];
Run Code Online (Sandbox Code Playgroud)
我想按重量和每种重量排序,按firstNames排序(嵌套排序).
结果将是:
[
{firstName: 'Thierry', weight: 1},
{firstName: 'John', weight: 2},
{firstName: 'Michael', weight: 2},
{firstName: 'Jordan', weight: 3},
{firstName: 'Steph', weight: 3}
];
Run Code Online (Sandbox Code Playgroud)
我使用Lodash 2.4.1 快速实现了这一点:
return _.chain(members)
.groupBy('weight')
.pairs()
.sortBy(function(e) {
return e[0];
})
.map(function(e){
return e[1];
})
.map(function(e){
return _.sortBy(e, 'firstName')
})
.flatten()
.value();
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来使用Lodash 2.4.1实现它?
我正在尝试制作项目项协作推荐代码.我的完整数据集可以在这里找到.我希望用户成为行,项目成为列,评级为值.
我的代码如下:
import pandas as pd
import numpy as np
file = pd.read_csv("data.csv", names=['user', 'item', 'rating', 'timestamp'])
table = pd.pivot_table(file, values='rating', index=['user'], columns=['item'])
Run Code Online (Sandbox Code Playgroud)
我的数据如下:
user item rating timestamp
0 A2EFCYXHNK06IS 5555991584 5 978480000
1 A1WR23ER5HMAA9 5555991584 5 953424000
2 A2IR4Q0GPAFJKW 5555991584 4 1393545600
3 A2V0KUVAB9HSYO 5555991584 4 966124800
4 A1J0GL9HCA7ELW 5555991584 5 1007683200
Run Code Online (Sandbox Code Playgroud)
错误是:
Traceback (most recent call last):
File "D:\python\reco.py", line 9, in <module>
table=pd.pivot_table(file,values='rating',index=['user'],columns=['item'])
File "C:\python35\lib\site-packages\pandas\tools\pivot.py", line 133, in pivot_table
table = agged.unstack(to_unstack)
File "C:\python35\lib\site-packages\pandas\core\frame.py", line …Run Code Online (Sandbox Code Playgroud) 我想设置调色板比例的最大值和最小值。在下面的示例中,我希望调色板的比例从 -10 到 50,就好像它是一个顺序颜色图一样。我真的不在乎强调数字与“零线”相交的地方。
import matplotlib.pyplot as plt
from matplotlib import cm
import numpy as np
import pandas as pd
import seaborn as sns
index = np.arange(0, 50)
data = np.random.uniform(low=-10, high=100, size=(50,50))
dft = pd.DataFrame(index=index, columns=index, data=data)
fig, ax = plt.subplots(figsize=(10,10))
cbar_ax = fig.add_axes([.905, 0.125, .05, 0.755])
ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
ax=ax, square=True, cbar_ax=cbar_ax, center=55)
plt.show()
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做:
ax = sns.heatmap(dft, linewidths=.5, cmap=cm.YlGnBu, cbar_kws={'label': 'label'},
ax=ax, square=True, cbar_ax=cbar_ax, vmax=50, vmin=-10)
Run Code Online (Sandbox Code Playgroud)
调色板从 -50 到 50,并被vmin=-10忽略。
我有一个目录中的文本文件列表。
我想创建一个矩阵,其中包含每个文件中整个语料库中每个单词的频率。(语料库是目录中每个文件中的每个唯一单词。)
例子:
File 1 - "aaa", "xyz", "cccc", "dddd", "aaa"
File 2 - "abc", "aaa"
Corpus - "aaa", "abc", "cccc", "dddd", "xyz"
Run Code Online (Sandbox Code Playgroud)
输出矩阵:
[[2, 0, 1, 1, 1],
[1, 1, 0, 0, 0]]
Run Code Online (Sandbox Code Playgroud)
我的解决方案是使用collections.Counter每个文件,获取包含每个单词计数的字典,并初始化和大小为n的列表列表 × m(n = 文件数,m = 语料库中唯一单词的数量)。然后,我再次遍历每个文件以查看对象中每个单词的频率,并用它填充每个列表。
有没有更好的方法来解决这个问题?也许在一次通过中使用collections.Counter?
据我所知,将对象传输到 Web Worker 会导致主线程失去所有权。我想知道是否有什么办法可以让它重新获得所有权。这个Plunker(下面的代码)演示了我遇到的问题。
main.js
var worker = new Worker("worker.js");
var z = new Int16Array(10);
worker.onmessage = function(e) {
console.log(e.data); // [0, 1, ... 10]
console.log(z); // [], ownership not regained here
}
console.log(z); // [0, 0, ... 0], original value here
worker.postMessage(z, [z.buffer]);
console.log(z); // [], ownership lost here
Run Code Online (Sandbox Code Playgroud)
工人.js
self.onmessage = function(e) {
var data = e.data; // transferred "z" from main.js
for (var i = 0; i < 10; i++) {
data[i] = i;
} …Run Code Online (Sandbox Code Playgroud) 我有一个数据结构,它是一个dicts列表列表:
[
[{'Height': 86, 'Left': 1385, 'Top': 215, 'Width': 86},
{'Height': 87, 'Left': 865, 'Top': 266, 'Width': 87},
{'Height': 103, 'Left': 271, 'Top': 506, 'Width': 103}],
...
]
Run Code Online (Sandbox Code Playgroud)
我可以将它转换为数据框:
detections[0:1]
df = pd.DataFrame(detections)
pd.DataFrame(df.apply(pd.Series).stack())
Run Code Online (Sandbox Code Playgroud)
产量:
这几乎是我想要的,但是:
如何将每个单元格中的字典转换为"左","顶","宽","高"列?
我从yahoo finance下载了每日数据
Open High Low Close Volume \
Date
2016-01-04 10485.809570 10485.910156 10248.580078 10283.440430 116249000
2016-01-05 10373.269531 10384.259766 10173.519531 10310.099609 82348000
2016-01-06 10288.679688 10288.679688 10094.179688 10214.019531 87751700
2016-01-07 10144.169922 10145.469727 9810.469727 9979.849609 124188100
2016-01-08 10010.469727 10122.459961 9849.339844 9849.339844 95672200
...
2016-02-23 9503.120117 9535.120117 9405.219727 9416.769531 87240700
2016-02-24 9396.480469 9415.330078 9125.190430 9167.799805 99216000
2016-02-25 9277.019531 9391.309570 9199.089844 9331.480469 0
2016-02-26 9454.519531 9576.879883 9436.330078 9513.299805 95662100
2016-02-29 9424.929688 9498.570312 9332.419922 9495.400391 90978700
Run Code Online (Sandbox Code Playgroud)
我想找到每个月的最高收盘价以及收盘价的日期.
使用groupby,dfM = df['Close'].groupby(df.index.month).max()它会返回每月最大值,但我会丢失每日索引位置.
grouped by month
1 …Run Code Online (Sandbox Code Playgroud) 我想对一些分类数据进行矢量化以构建训练和测试矩阵.
我有85个城市,我想得到一个282520行的矩阵,每行都是一个矢量
[1 0 0 ..., 0 0 0]
Run Code Online (Sandbox Code Playgroud)
我希望每行有一个向量,其中1或0取决于城市,因此每个城市应该是一列:
print(df['city'])
Run Code Online (Sandbox Code Playgroud)
0 METROPOLITANA DE SANTIAGO
1 METROPOLITANA DE SANTIAGO
2 METROPOLITANA DE SANTIAGO
3 METROPOLITANA DE SANTIAGO
4 COQUIMBO
5 SANTIAGO
6 SANTIAGO
7 METROPOLITANA DE SANTIAGO
8 METROPOLITANA DE SANTIAGO
9 METROPOLITANA DE SANTIAGO
10 BIO BIO
11 COQUIMBO
... ...
282520 METROPOLITANA DE SANTIAGO
Name: city, dtype: object
Run Code Online (Sandbox Code Playgroud)
这是我试过的:
from sklearn import preprocessing
list_city = getList(df,'city')
le = preprocessing.LabelEncoder()
le.fit(list_city)
print(le.transform(['AISEN']))
print(le.transform(['TARAPACA']))
print(le.transform(['AISEN DEL GENERAL CARLOS IBANEZ DEL …Run Code Online (Sandbox Code Playgroud) 我正在尝试将平均真实范围列添加到包含历史股票数据的数据框中。
到目前为止,我使用的代码是:
def add_atr_to_dataframe (dataframe):
dataframe['ATR1'] = abs (dataframe['High'] - dataframe['Low'])
dataframe['ATR2'] = abs (dataframe['High'] - dataframe['Close'].shift())
dataframe['ATR3'] = abs (dataframe['Low'] - dataframe['Close'].shift())
dataframe['TrueRange'] = max (dataframe['ATR1'], dataframe['ATR2'], dataframe['ATR3'])
return dataframe
Run Code Online (Sandbox Code Playgroud)
包含max函数的最后一行给出了错误:
def add_atr_to_dataframe (dataframe):
dataframe['ATR1'] = abs (dataframe['High'] - dataframe['Low'])
dataframe['ATR2'] = abs (dataframe['High'] - dataframe['Close'].shift())
dataframe['ATR3'] = abs (dataframe['Low'] - dataframe['Close'].shift())
dataframe['TrueRange'] = max (dataframe['ATR1'], dataframe['ATR2'], dataframe['ATR3'])
return dataframe
Run Code Online (Sandbox Code Playgroud)
我已经搜索了几天,试图学习如何解决该错误,或者以更好的方式进行代码处理,等等,但没有发现任何可以帮助我的方法。
在以下方面的任何帮助将不胜感激:
如何解决错误
如何以更好的方式进行编码-我并不是说我必须以这种方式进行编码,并且可能会有更好的方式来进行编码。
提前谢谢。
python ×8
pandas ×5
javascript ×2
data-science ×1
dataframe ×1
group-by ×1
heatmap ×1
lodash ×1
matplotlib ×1
max ×1
mod-wsgi ×1
numpy ×1
pyramid ×1
scikit-learn ×1
scipy ×1
seaborn ×1
sorting ×1
time-series ×1
web-worker ×1
wsgi ×1