我正在Matplotlib中创建一个像这样的人物:
from matplotlib import pyplot as plt
fig = plt.figure()
plt.plot(data)
fig.suptitle('test title')
plt.xlabel('xlabel')
plt.ylabel('ylabel')
fig.savefig('test.jpg')
Run Code Online (Sandbox Code Playgroud)
我想指定图标题和轴标签的字体大小.我需要三个不同的字体大小,所以设置全局字体大小(mpl.rcParams['font.size']=x)不是我想要的.如何单独设置图标题和轴标签的字体大小?
我有一个包含多列的数据框.对于数据框中的每一行,我想调用该行上的函数,并且该函数的输入使用该行中的多个列.例如,假设我有这个数据,这个testFunc接受两个args:
> df <- data.frame(x=c(1,2), y=c(3,4), z=c(5,6))
> df
x y z
1 1 3 5
2 2 4 6
> testFunc <- function(a, b) a + b
Run Code Online (Sandbox Code Playgroud)
假设我想将此testFunc应用于列x和z.因此,对于第1行,我想要1 + 5,对于第2行,我想要2 + 6.有没有办法在不编写for循环的情况下执行此操作,也许使用apply函数系列?
我试过这个:
> df[,c('x','z')]
x z
1 1 5
2 2 6
> lapply(df[,c('x','z')], testFunc)
Error in a + b : 'b' is missing
Run Code Online (Sandbox Code Playgroud)
但有错误,任何想法?
编辑:我想要调用的实际函数不是一个简单的总和,但它是power.t.test.我只使用+ b作为示例.最终目标是能够做这样的事情(用伪代码编写):
df = data.frame(
delta=c(delta_values),
power=c(power_values),
sig.level=c(sig.level_values)
)
lapply(df, power.t.test(delta_from_each_row_of_df,
power_from_each_row_of_df,
sig.level_from_each_row_of_df
))
Run Code Online (Sandbox Code Playgroud)
其中结果是每行df的power.t.test的输出向量.
我刚开始使用pandas/matplotlib替代Excel来生成堆积条形图.我遇到了一个问题
(1)默认色图中只有5种颜色,所以如果我有超过5种颜色,则重复颜色.如何指定更多颜色?理想情况下,具有开始颜色和结束颜色的渐变,以及在两者之间动态生成n种颜色的方法?
(2)颜色在视觉上不是很悦目.如何指定n种颜色的自定义组?或者,渐变也可以.
以下两个例子说明了上述两点:
4 from matplotlib import pyplot
5 from pandas import *
6 import random
7
8 x = [{i:random.randint(1,5)} for i in range(10)]
9 df = DataFrame(x)
10
11 df.plot(kind='bar', stacked=True)
Run Code Online (Sandbox Code Playgroud)
输出是这样的:

我试图弄清楚如何以智能方式对作为groupby聚合的结果生成的Series进行排序.
我生成一个我的DataFrame的聚合,如下所示:
means = df.testColumn.groupby(df.testCategory).mean()
Run Code Online (Sandbox Code Playgroud)
这导致了一个系列.我现在尝试按值排序,但得到一个错误:
means.sort()
...
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy
Run Code Online (Sandbox Code Playgroud)
然后我尝试创建一个副本:
meansCopy = Series(means)
meansCopy.sort()
-> Exception: This Series is a view of some other array, to sort in-place you must create a copy
Run Code Online (Sandbox Code Playgroud)
我怎样才能使用这种方法?
我认为我有以下逻辑:
def view_function(request):
if request.method == 'POST':
uploadform = UploadFileForm(request.POST, request.FILES)
if uploadform.is_valid():
#do stuff
Run Code Online (Sandbox Code Playgroud)
UploadFileForm等于的位置:
class UploadFileForm(forms.Form):
file = forms.FileField()
Run Code Online (Sandbox Code Playgroud)
我正在尝试为此视图编写单元测试.查看Django文档,建议的方法是:
class test_stuffTest(TestCase):
def setUp(self):
self.client = django.test.client.Client()
...
def test_stuff(self):
myfile = open('....\file.csv','r')
response = self.client.post('/', {'name':'file.csv','attachment':myfile})
#check response
Run Code Online (Sandbox Code Playgroud)
我的目标是让uploadform.is_valid()评估为True,这样我就可以测试表单验证之后的代码.当我运行上面的测试时,uploadform.is_valid()的计算结果为False.有什么我想念的吗?我的测试中的代码是将文件添加到request.FILES,还是在做其他事情?
在具有默认设置的python-pandas 箱图中,红色条是平均值 ,而框表示第25和第75个四分位数,但在这种情况下,胡须究竟是什么意思呢?文档在哪里找出确切的定义(找不到它)?
示例代码:
df.boxplot()
Run Code Online (Sandbox Code Playgroud)
示例结果:

我通常在Python中读取这样的文件:
f = open('filename.txt', 'r')
for x in f:
doStuff(x)
f.close()
Run Code Online (Sandbox Code Playgroud)
但是,这会按换行符拆分文件.我现在有一个文件,它的所有信息都在一行中(45,000个字符串用逗号分隔).虽然这个大小的文件使用类似的东西读取是微不足道的
f = open('filename.txt', 'r')
doStuff(f.read())
f.close()
Run Code Online (Sandbox Code Playgroud)
我很好奇,如果一个更大的文件全部在一行中,就可以实现与第一个代码片段类似的迭代效果,但是用逗号而不是换行符或任何其他字符进行拆分?
我有以下C++代码:
void foo(const uint8_t* data, int height, int width) {
// need to create a cv::Mat from *data, which is a pointer to grayscale image data
// doesn't work correctly (compiles, but array access on the mat leads to a segmentation fault)
auto img = cv::Mat(height, width, CV_8UC1, &data);
// how can I fix the line above to create a proper cv::Mat?
}
// I'm calling foo like this
// img is a grayscale image
foo(img.ptr<uint8_t>(0), img.cols, img.rows);
Run Code Online (Sandbox Code Playgroud)
有人能指出我在foo中创建矩阵的语法有什么问题吗?
我在WebFaction(网络托管)上使用 Bash,并且想将我的终端更改为默认背景颜色而不是黑色(可能是白色,但我想尝试一下)。我该怎么做呢?
我尝试这样做:
cp /etc/DIR_COLORS ~/.dir_colors
(edit .dir_colors)
Run Code Online (Sandbox Code Playgroud)
但我只能找到各种目录和文件类型的前景色和背景色,而不是全局颜色。我应该去哪里看?
我使用固定宽度的网站布局(1000px),布局通过自动边距在屏幕中居中.但是,我发现在网站的某些页面上,由于某种原因,布局与其他页面的位置略有不同.这对我来说是令人惊讶的,因为我使用Django并为每个页面提供相同的基本模板和样式表,所以我希望它们看起来一样.
例如,看看http://crh.vkuzo.com/.如果加载"主页"和"建议"页面,则布局保持完全相同.但是,如果您加载"约"页面,您可以看到布局略微向左移动.
造成这种轻微运动的原因是什么,我怎么能摆脱它呢?
PS这里是容器div的相关CSS(至少我认为是相关的):
#wholepage {
width:1000px;
clear:left;
margin-top:10px;
margin-left:auto;
margin-right:auto;
margin-bottom:10px;
}
Run Code Online (Sandbox Code Playgroud) 我对网络开发很陌生,所以我只是想看看我是否对我想做的事情有了正确的认识.如果有任何术语错误,请原谅我.我的Django应用程序需要执行以下操作:
我在如何完成第2步时遇到了麻烦...这就是我的想法:
1.User上传文件(非常简单)
2.文件被处理 - 视图函数将是这样的:
def process(request):
a. (get file from the request)
b. (return a page which says "the server is running your job, results will be available in {ETA}")
c. (start processing the data)
Run Code Online (Sandbox Code Playgroud)
3.User在浏览器中查看结果 - 浏览器定期查询服务器以查看作业是否完成.当作业准备就绪时,浏览器会获得结果.
我的问题是,在第2步b和c部分中,如何在不等待进程完成的情况下向浏览器返回响应?或者,在将结果返回浏览器后,如何确保进程继续运行?理想情况下,该进程应该可以访问Django环境变量,因为它可以通过Django的界面与数据库一起使用.