小编aus*_*acy的帖子

在ES6中作为参数传递NULL时,在提供一个参数时不使用默认参数

是否有一个已知的原因,为什么在null提供一个参数时,作为ES6中的参数传入时不使用默认参数?

function sayHello(name = "World") {
    console.log("Hello, " + name + "!");
}

sayHello("Jim");     // Hello, Jim!
sayHello(undefined); // Hello, World!
sayHello(null);      // Hello, null!
Run Code Online (Sandbox Code Playgroud)

javascript optional-parameters ecmascript-6

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

你如何设置Django的文件选择器表单按钮的样式?

我正在尝试设置我的Django 文件上传按钮的样式,但由于它是通过表单处理而未在模板中的HTML中明确编写的,因此我不能直接使用HTML和CSS来设置样式,就像我可以用于输入类型的其他按钮一样.

我试图在我的内容中添加我的CSS类forms.py,但它将我的CSS样式按钮放在vanilla默认的Django文件上传按钮上.

我的代码如下:

class FileUploadForm(forms.Form):
    docFile = forms.FileField(
        label = "Select a CSV file",
    )

    class Meta:
        model = FileUpload
        fields = ('docFile')

    def __init__(self, *args, **kwargs):
        super(FileUploadForm, self).__init__(*args, **kwargs)
        self.fields['docFile'].widget.attrs.update({'class': 'my_class'})
Run Code Online (Sandbox Code Playgroud)

我也尝试widget在我的Meta班级中定义一个如下:

class Meta:
        model = FileUpload
        widgets = {
            'docFile': forms.FileInput(attrs={'class': 'my_class'}),
        }
Run Code Online (Sandbox Code Playgroud)

但这与我的第一次尝试具有相同的效果.

是否有不同的方法来实现这一点,或者是否存在一些您可以在我的代码中发现的逻辑错误?

html css python django

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

为Pandas DataFrame的图形设置x轴间隔(刻度)

我正在尝试在Pandas DataFrame的matplotlib图上设置x轴的刻度(时间步长).我的目标是使用DataFrame的第一列作为刻度,但到目前为止我还没有成功.

我到目前为止的尝试包括:

尝试1:

#See 'xticks'
data_df[header_names[1]].plot(ax=ax, title="Roehrig Shock Data", style="-o", legend=True, xticks=data_df[header_names[0]])
Run Code Online (Sandbox Code Playgroud)

尝试2:

ax.xaxis.set_ticks(data_df[header_names[0]])
Run Code Online (Sandbox Code Playgroud)

header_names 只是列标题名称的列表,数据帧如下:

    Compression Velocity   Compression Force  
1               0.000213            6.810879             
2               0.025055          140.693200            
3               0.050146          158.401500            
4               0.075816          171.050200             
5               0.101011          178.639500              
6               0.126681          186.228800              
7               0.150925          191.288300            
8               0.176597          198.877500        
9               0.202269          203.937000        
10              0.227466          208.996500         
11              0.252663          214.056000    
Run Code Online (Sandbox Code Playgroud)

以下是CSV格式的数据:

Compression Velocity,Compression Force
0.0002126891606,6.810879
0.025055073079999997,140.6932
0.050145696,158.4015
0.07581600279999999,171.0502
0.1010109232,178.6395
0.12668120459999999,186.2288
0.1509253776,191.2883
0.1765969798,198.8775
0.2022691662,203.937
0.2274659662,208.9965
0.2526627408,214.056
Run Code Online (Sandbox Code Playgroud)

这是一个阅读和绘制图表的实现:

data_df = pd.read_csv(file).astype(float)
fig = Figure()
ax = fig.add_subplot(111)
ax.set_xlabel("Velocity …
Run Code Online (Sandbox Code Playgroud)

python matplotlib data-analysis pandas

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

从Django中的媒体目录打开数据文件

我有一个应用程序,允许用户上传带有数据的CSV文件,然后将数据绘制成图形并显示给用户.这些文件在媒体文件夹中保存为媒体.但是在我的图表视图中,我需要打开文件并进行处理.我的问题是我只能打开项目当前工作目录中的文件,并且每当我尝试从该目录之外的某个位置上传文件时,我都会收到此错误:

File b'TEST.CSV' does not exist
Run Code Online (Sandbox Code Playgroud)

我试过这个,但没有成功:

file_upload_dir = os.path.join(settings.MEDIA_ROOT, 'Data_Files')
data_file = open(os.path.join(file_upload_dir, new_file), 'rb')
Run Code Online (Sandbox Code Playgroud)

该变量new_file只是从会话中保存的文件的名称,而不是该文件的路径.Data_Files是媒体目录中包含上载文件的目录.

我的Django媒体设置是

SETTINGS_DIR = os.path.dirname(__file__)
PROJECT_PATH = os.path.join(SETTINGS_DIR, os.pardir)
PROJECT_PATH = os.path.abspath(PROJECT_PATH)

MEDIA_URL = '/media/'
MEDIA_ROOT = os.path.join(PROJECT_PATH, 'media')
Run Code Online (Sandbox Code Playgroud)

有没有办法从视图中正确引用媒体文件?

这是file_upload_dir新文件的输出和位置.

>>> print(file_upload_dir)
C:\\Users\\vut46744\\Desktop\\graphite_project\\media\\Data_Files

>>> print(os.path.join(file_upload_dir, new_file))
C:\\Users\\vut46744\\Desktop\\graphite_project\\media\\Data_Files\\TEST.CSV
Run Code Online (Sandbox Code Playgroud)

python django file-io django-media

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

从 CSV 文件创建图形并使用 Django 和 Pandas Python 库渲染到浏览器

我正在学习如何将 Django 框架用于一个工作项目,该框架将允许用户加载各种格式的文件(目前我只处理 CSV 文件),使用Pandas绘制该数据,并将该数据显示回用户通过 Django 模板。我在 iPython 中创建图形没有遇到任何问题,但一直在努力将其转换为 HTML Django 模板。

我遵循了以下示例matplotlib

# graph input file

from matplotlib.backends.backend_agg import FigureCanvasAgg as FigureCanvas
from matplotlib.figure import Figure
from matplotlib.dates import DateFormatter

def graph(request):
    fig = Figure()
    ax = fig.add_subplot(111)
    x = []
    y = []
    now = datetime.datetime.now()
    delta = datetime.timedelta(days=1)
    for i in range(10):
        x.append(now)
        now += delta
        y.append(random.randint(0, 1000))
    ax.plot_date(x, y, '-')
    ax.xaxis.set_major_formatter(DateFormatter('%Y-%m-%d'))
    fig.autofmt_xdate()
    canvas = FigureCanvas(fig)
    response = HttpResponse( content_type = 'image/png')
    canvas.print_png(response) …
Run Code Online (Sandbox Code Playgroud)

python django numpy matplotlib pandas

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

在另一个模板中从Django视图显示HTML表

因此,我有一个Django视图,该视图允许用户上传文件,并通过Pandas数据框绘制数据。然后在单独的视图中创建图形,并通过图像标签在原始文件上传视图中引用该图形。这很完美。

现在,我还想以表格格式在图形图像旁边显示数据。我正在使用Panda的内置功能在dataframe.to_html()单独的视图中创建表,该视图也将在文件上传视图中引用。

我的表生成正确,可以在为表指定的URL上看到。尝试从文件上传模板中引用该URL时遇到错误。

错误是:

Resource interpreted as Image but transferred with MIME type text/html

我发现这是由于我的文件上传模板包含以下内容:

<img src="{% url 'html_graph' %}" />
Run Code Online (Sandbox Code Playgroud)

由于视图返回的HttpResponsecontent_type值为text/html

有没有办法从我的文件上传模板中引用HTML表格视图,而该表格不使用image标签,因为该表格是HTML而不是图片?

这是我的工作实现:

html_table = df.to_html(index=False)
return render_to_response('myapp/my_template.html', {'html_table': html_table}, RequestContext(request))
Run Code Online (Sandbox Code Playgroud)

然后,html_table我在模板中引用它,例如:

<div>
 {{ html_graph | safe }}
</div>
Run Code Online (Sandbox Code Playgroud)

html python django pandas

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

如何将两个 Pandas Dataframe 列堆叠在一起?

是否有库函数或正确的方法将两个 Pandas 数据框列堆叠在一起?

例如将 4 列变成 2 列:

a1  b1  a2  b2
 1   2   3   4
 5   6   7   8
Run Code Online (Sandbox Code Playgroud)

c   d
1   2
5   6
3   4
7   8
Run Code Online (Sandbox Code Playgroud)

我阅读的大部分 Pandas Data Frames 文档只处理连接行和进行行操作,但我确信必须有一种方法来执行我所描述的操作,而且我确信它非常简单。

任何帮助都会很棒。

python data-analysis dataframe pandas

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