小编not*_*ink的帖子

S3 cp使用根密钥从AWS cli访问AccessDenied

我在EC2实例上安装了AWS cli,并通过运行aws configure并为其配置了我的AWSAccessKeyId和AWSSecretKey密钥来配置它,因此如果我运行该命令,aws s3 ls它将返回我的S3存储桶的名称(称之为"mybucket").

但是,如果我然后尝试aws s3 cp localfolder/ s3://mybucket/ --recursive我得到一个看起来像的错误

A client error (AccessDenied) occurred when calling the CreateMultipartUpload operation: Anonymous users cannot initiate multipart uploads.  Please authenticate.
Run Code Online (Sandbox Code Playgroud)

我认为通过运行aws configure并给它我的root密钥,我有效地给了aws cli它需要进行身份验证的一切吗?有没有关于复制到S3存储桶而不是列出它们的东西?

amazon-s3 amazon-ec2 amazon-web-services

11
推荐指数
3
解决办法
2万
查看次数

Python:如何评估StatsModels中的残差?

我想评估残差:( y-hat y).

我知道该怎么做:

df = pd.read_csv('myFile', delim_whitespace = True, header = None)
df.columns = ['column1', 'column2']
y, X = ps.dmatrices('column1 ~ column2',data = df, return_type = 'dataframe')
model = sm.OLS(y,X)
results = model.fit()
predictedValues = results.predict()
#print predictedValues
yData = df.as_matrix(columns = ['column1'])
res = yData - predictedValues
Run Code Online (Sandbox Code Playgroud)

我想知道是否有一种方法可以做到这一点(?).

python pandas statsmodels patsy

8
推荐指数
1
解决办法
2万
查看次数

使用datetime.strptime转换器的numpy.genfromtxt

我有类似于这个要点中的数据,我试图用numpy提取数据.我是python的新手,所以我尝试使用以下代码

import numpy as np
from datetime import datetime

convertfunc = lambda x: datetime.strptime(x, '%H:%M:%S:.%f')
col_headers = ["Mass", "Thermocouple", "T O2 Sensor",\
               "Igniter", "Lamps", "O2", "Time"]
data = np.genfromtxt(files[1], skip_header=22,\
                     names=col_headers,\
                     converters={"Time": convertfunc})
Run Code Online (Sandbox Code Playgroud)

在要点中可以看到有22行标题材料.在Ipython中,当我"运行"以下代码时,我收到一个以下结尾的错误:

TypeError: float() argument must be a string or a number
Run Code Online (Sandbox Code Playgroud)

可以在此处看到完整的ipython错误跟踪.

我能够使用genfromtxt的参数来提取六列数值数据,例如usecols = range(0,6),但是当我尝试使用转换器来尝试解决最后一列时,我很难过.任何和所有评论将不胜感激!

python numpy ipython

7
推荐指数
1
解决办法
6098
查看次数

从 Tkinter gui 中更新 matplotlib imshow

我正在尝试更新 Tkinter gui 中的 matplotlib imshow 窗口中的数据,我的代码示例如下:

#minimal example...

import matplotlib, sys
matplotlib.use('TkAgg')
from matplotlib.backends.backend_tkagg import FigureCanvasTkAgg
from matplotlib import pylab as plt
from scipy import ndimage

if sys.version_info[0] < 3:
    import Tkinter as Tk
else:
    import tkinter as Tk

root = Tk.Tk()
root.wm_title("minimal example")

image = plt.imread('test.jpg')
fig = plt.figure(figsize=(5,4))
im = plt.imshow(image) # later use a.set_data(new_data)
ax = plt.gca()
ax.set_xticklabels([]) 
ax.set_yticklabels([]) 

# a tk.DrawingArea
canvas = FigureCanvasTkAgg(fig, master=root)
canvas.show()
canvas.get_tk_widget().pack(side=Tk.TOP, fill=Tk.BOTH, expand=1)

def rotate(*args):
    print 'rotate button press...' …
Run Code Online (Sandbox Code Playgroud)

python tkinter matplotlib

6
推荐指数
1
解决办法
9198
查看次数

python格式字符串中标点符号的使用

所以我对python中的.format机制感到困惑。(我目前使用的是2.7.6)

所以,这显然是有效的:

>>> "hello {test1}".format(**{'test1': 'world'})
'hello world'
Run Code Online (Sandbox Code Playgroud)

也是如此:

>>> "hello {test_1}".format(**{'test_1': 'world'})
'hello world'
Run Code Online (Sandbox Code Playgroud)

但两者都不是:

>>> "hello {test:1}".format(**{'test:1': 'world'})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'test'
Run Code Online (Sandbox Code Playgroud)

也不:

>>> "hello {test.1}".format(**{'test.1': 'world'})
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
KeyError: 'test'
Run Code Online (Sandbox Code Playgroud)

工作。

但由于某种原因,以下情况会发生:

>>> "hello {test:1}".format(**{'test': 'world'})
'hello world'
Run Code Online (Sandbox Code Playgroud)

因此,被替换的字符串中的变量名称似乎不能包含冒号:或句点.。有什么办法可以逃脱这些角色吗?我希望从字典中替换的字符串偶尔有句点或同时有句点或冒号。

python formatting python-2.7

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

将数据着色器图像添加到 matplotlib 子图

是否可以将数据着色器图像添加到一组 matplotlib 子图中?

作为一个具体的例子,

import numpy as np
import pandas as pd
import matplotlib.pylab as plt

import datashader as ds
import datashader.transfer_functions as tf
from datashader.utils import export_image

from functools import partial

background = "white"
export = partial(export_image, background = background, export_path="export")

N = 10000
df = pd.DataFrame(np.random.random((N, 3)), columns = ['x','y', 'z'])

f, ax = plt.subplots(2, 2)
ax_r = ax.ravel()

ax_r[0].scatter(df['x'], df['y'], df['z'].mean())
ax_r[1].hist(df['x'])
ax_r[2].hist(df['y'])
ax_r[3].plot(df['z'])

cvs = ds.Canvas(plot_width=100, plot_height=100)
agg = cvs.points(df, 'x', 'y', ds.mean('z'))
a = export(tf.shade(agg, …
Run Code Online (Sandbox Code Playgroud)

python matplotlib datashader

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

使用pandas.shift()根据scipy.signal.correlate对齐数据集

我的数据集如下所示:data0,data1,data2(类似于时间与电压数据)

如果我使用以下代码加载和绘制数据集:

import pandas as pd
import numpy as np
from scipy import signal
from matplotlib import pylab as plt

data0 = pd.read_csv('data0.csv')
data1 = pd.read_csv('data1.csv')
data2 = pd.read_csv('data2.csv')

plt.plot(data0.x, data0.y, data1.x, data1.y, data2.x, data2.y)
Run Code Online (Sandbox Code Playgroud)

我有类似的东西:

绘制所有三个数据集

现在我尝试将data0与data1关联起来:

shft01 = np.argmax(signal.correlate(data0.y, data1.y)) - len(data1.y)
print shft01
plt.figure()
plt.plot(data0.x, data0.y,
         data1.x.shift(-shft01), data1.y)
fig = plt.gcf()
Run Code Online (Sandbox Code Playgroud)

输出:

-99
Run Code Online (Sandbox Code Playgroud)

转移版本的数据1

这与预期一样有效!但如果我用data2尝试相同的东西,我得到一个看起来像的情节:

转移版本的数据2

积极的转变410.我想我只是不理解它是如何pd.shift()工作的,但我希望我能用它pd.shift()来对齐我的数据集.据我了解,返回correlate()告诉我数据集离我有多远,所以我应该能够使用shift来重叠它们.

python scipy pandas

3
推荐指数
2
解决办法
4499
查看次数