小编ebo*_*osi的帖子

git + LaTeX工作流程

我在LaTeX写了一篇很长的文档.我有自己的工作电脑和笔记本电脑,我都在工作.我需要保持两台计算机之间的所有文件同步,并且还希望保留修订历史记录.我选择git作为我的DVCS,我在我的服务器上托管我的存储库.我也使用Kile + Okular进行编辑.Kile没有集成的git插件.我也没有在这篇文章中与任何人合作.如果由于某种原因我的服务器无法访问,我也在考虑在codaset上放置另一个私有存储库.

在这种情况下,推荐的工作流程是什么?如何在这个工作方案中安装分支?有没有办法比较同一个文件的两个版本?使用藏匿怎么样?

git latex git-workflow

261
推荐指数
3
解决办法
8万
查看次数

git pre-push hook:在每个新提交上运行测试

语境

我想确保我推送的每个提交都通过测试。

我想在我的(客户端)端检查这一点,即在提交之前进行检查(所以我不想依赖 CI 工具)。

问题

目前,我已经实现了一个pre-commit运行测试的钩子,因此我什至无法提交损坏的状态。

然而,我的测试套件运行需要花费几秒钟的时间。在编写提交消息之前我需要等待很多时间。这使得日常使用变得不切实际;两者都是因为我经常提交,而且我有时故意想要提交一个损坏的状态以供稍后粉碎(我知道git commit --no-verify,但这不是重点)。

问题

因此,我不想一次(在创建时)检查每个提交,而是想在推送之前对它们进行批量测试。

如何实现一个钩子来为每个要推送的新提交pre-push运行我的测试套件?

(为了简单起见,假设通过测试意味着test/run_tests.sh返回0。)

git git-push githooks

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

Plot.ly:共享 X 轴的子图的不同高度

背景

  • 具有相同高度 (?) 的不同子图 (?)

我可以创建一个带有共享 X 轴的子图的图形(示例改编自Plot.ly doc),子图之间有适当的分隔,并且您可以通过subplot_titles以下方式为每个子图插入特定标题:

from plotly import tools
import plotly.plotly as py
import plotly.graph_objs as go

trace1 = go.Scatter(
    x=[0, 1, 2],
    y=[10, 11, 12]
)
trace2 = go.Scatter(
    x=[2, 3, 4],
    y=[100, 110, 120],
)
trace3 = go.Scatter(
    x=[3, 4, 5],
    y=[1000, 1100, 1200],
)
fig = tools.make_subplots(rows=3, cols=1, specs=[[{}], [{}], [{}]],
                          shared_xaxes=True, shared_yaxes=True,
                          vertical_spacing=0.1, subplot_titles=('subtitle 1', 
                          'subtitle 2', 'subtitle 3'))
fig.append_trace(trace1, 3, 1)
fig.append_trace(trace2, 2, 1)
fig.append_trace(trace3, …
Run Code Online (Sandbox Code Playgroud)

python plotly plotly-dash

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

如何通过`DataTable`定义将CSS应用于<table>元素(使其宽度为100%)?

问题

我正在使用Dash “ v1.0”套件(请参阅下面的pip要求)。我想创建一个DataTable全角(就像一个<p>元素)。

我已将表设置如下(下面是完整的MWE):

dash_table.DataTable(
    …
    style_table={
        'maxHeight': '50ex',
        'overflowY': 'scroll',
        'width': '100%',
        'minWidth': '100%',
    },
    …
Run Code Online (Sandbox Code Playgroud)

但是,即使<div class="cell cell-1-1 dash-fixed-content">生成的HTML容器是全角的,<table>它所包含的容器也不是全角,如下面的演示所示。

gif演示

问题是... 同一个类似的代码可与短跑0.X ...

使用Dash 1.0,如何使单元格自动水平扩展,以使表格填满整个水平空间?

或者换句话说,如何<table>通过DataTable元素设置元素的样式?


最小(有时不是)工作示例

与Dash 0.x:

  • 0.x_requirements.txt
dash-core-components==0.39.0
dash-html-components==0.13.2
dash-renderer==0.15.1
dash-table==3.1.7
dash==0.31.1
datetime
pandas==0.23.4
plotly==3.4.1
Run Code Online (Sandbox Code Playgroud)
  • 0.x_testapp.py
dash-core-components==0.39.0
dash-html-components==0.13.2
dash-renderer==0.15.1
dash-table==3.1.7
dash==0.31.1
datetime
pandas==0.23.4
plotly==3.4.1
Run Code Online (Sandbox Code Playgroud)

使用Dash 1.0:

  • 1.x_requirement.txt
dash_renderer==1.0.0
dash-core-components==1.0.0
dash-html-components==1.0.0
dash-table==4.0.0
dash==1.0.0
pandas==0.24.2
plotly==3.10.0 …
Run Code Online (Sandbox Code Playgroud)

css plotly-dash

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

git:在合并之前移动提交

我的历史树目前看起来像这样: 在此输入图像描述

我想将commit b3应用于分支主服务器.当然,我可以再次合并分支featuremaster,但历史将显得凌乱的两个合并提交(a6a4现在只是无用的): 在此输入图像描述


因此,我想知道的是,a4现在如何指出b3而不是b2 在此输入图像描述 我承认SHA1旨意是不同的,因此,提交都会被重新命名a4',并a5'

git merge

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

DataFrame:如何根据行的另一个单元格切换单元格值?

我有参加聚会的朋友名单:

import pandas as pd
d = {'name': ['Alice', 'Bob', 'Charlie'], 'is_here': [True, True, False]}
df = pd.DataFrame(data=d)
Run Code Online (Sandbox Code Playgroud)

问题:如何is_here根据给定名称切换布尔值?(例如,如何使toggle('Charlie')转动FalseTrue我的数据帧?)


我可以使用布尔值获得一个状态df[df['name'] == 'Charlie'].iloc[0]['is_here'],但是我很难改变它的值df.

python dataframe python-3.x pandas

4
推荐指数
1
解决办法
51
查看次数

Should I use `with open(file):` if I `pd.read_csv`?

Context

I've learned that one should use with open when reading files in Python:

import csv

with open('employee_birthday.txt') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')
    line_count = 0
    for row in csv_reader:
        if line_count == 0:
            print(f'Column names are {", ".join(row)}')
            line_count += 1
        else:
            print(f'\t{row[0]} works in the {row[1]} department, and was born in {row[2]}.')
            line_count += 1
    print(f'Processed {line_count} lines.')
Run Code Online (Sandbox Code Playgroud)

(source)

However, I've seen multiple examples where this structure is not used when using pandas' pd.read_csv: …

python csv file-io pandas

4
推荐指数
1
解决办法
1054
查看次数

git remove旧分支与--no-ff合并

我正在整理我的仓库,并想删除一些不再使用的旧分支。有很多有关如何删除这些信息。但是,我不确定这些解决方案对我来说是否安全,因为我使用合并了分支--no-ff


想象一下我的日志看起来像这样:

master     *--*--*--------*--*--*--*
               \         /     /
                \       /     |
feature_a        *--*--*      |  
                     \        |
                      \       /
feature_b              *--*--*
Run Code Online (Sandbox Code Playgroud)

问题:如何删除feature_afeature_b分支而不丢失数据和日志结构?

基本上,我想那git branch只是回报*master在日志曲线看起来仍然像上面(的即没有改写的提交feature_a_bmaster)。

git branch git-merge

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

绘图散点图标记的条件格式

问题:
我有一个包含xy值对、加号lower_limitupper_limit值的数据集y

我想在 plot.ly 散点图中绘制xvs.并将标记着色为绿色,如果? ,否则为红色ylower_limityupper_limit

我知道我可以使用 2 个跟踪,或者color在 DataFrame 中添加一列。但是,我想即时生成这些颜色并仅使用一条痕迹。

示例:
考虑这个数据集:

   x   y  lower_limit  upper_limit
0  1  13           10           15
1  2  13           15           20
2  3  17           15           20
Run Code Online (Sandbox Code Playgroud)

第一个标记 ( x=1, y=13) 应该是绿色的,因为lower_limit? y? upper_limit(10 ? 13 ? 15),就像第三个一样。
但是第二个应该是红色的,因为y< lower_limit

然后我想生成这个图: 在此处输入图片说明


MWE:

import pandas …
Run Code Online (Sandbox Code Playgroud)

python colors plotly plotly-python

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

如何基于 pd.DataFrame 值创建 f-string(类似)列表?

问题
如何根据pandas DataFrame 的值创建带有占位符(即“f-string”之类的)的字符串列表?

例子

想象一下我有以下数据框:

import pandas as pd

data = [
    ['Alice', 13, 'apples'],
    ['Bob', 17, 'bananas']
]

df = pd.DataFrame(
    data,
    columns=['name', 'qty', 'fruit']
)
Run Code Online (Sandbox Code Playgroud)

如何使用类似f"{name} ate {qty} {fruit}"模式创建字符串列表?
换句话说,如何创建以下列表:

[
    'Alice ate 13 apples',
    'Bob ate 17 bananas'
]
Run Code Online (Sandbox Code Playgroud)

python dataframe pandas f-string

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