小编fug*_*ede的帖子

如何忽略单词之间的空格而不忽略其他字符?

我想重命名一长串文件名,以使它们更易于搜索.自动生成的名称,因此存在一些奇怪的间距问题.我写了一个小蟒蛇脚本来做我想要的.但我不想删除单词之间的空格.例如,我有两个名字:

0 130 — HG — 1500 — 12"  (Page 1 of 2)  
01 30 — HD LOW POINT DRAIN  
Run Code Online (Sandbox Code Playgroud)

他们应该读:

0130-HG-1500-12"  
0130-HD LOW POINT DRAIN  
Run Code Online (Sandbox Code Playgroud)

我的代码到目前为止:

import os
import re

for filename in os.listdir("."):
    if not filename.endswith(".py"):
        os.replace(filename, re.sub("[(].*?[)]", "",  # Remove anything between ()
                                    "".join(filename.split()  # Remove any whitespaces
                                            ).replace("—", "-")))  # Replace Em dash with hyphen  
Run Code Online (Sandbox Code Playgroud)

一切都在工作,除了我无法弄清楚如何不在单词之间剥离白色空格.

python regex python-3.x

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

使用间隔选择时,堆叠 Altair/Vega-Lite 图表中的工具提示消失

Altair 示例库包含一个很好的示例,说明如何使用区间选择创建两个图,其中一个图允许您定义另一个图的比例。我一直在尝试通过将工具提示定义为基础的一部分来向堆叠图表的两个部分添加工具提示:

import altair as alt
from vega_datasets import data

source = data.sp500.url

brush = alt.selection(type='interval', encodings=['x'])

base = alt.Chart(source).mark_area().encode(
    x = 'date:T',
    y = 'price:Q',
    tooltip = 'price:Q'
).properties(
    width=600,
    height=200
)

upper = base

lower = base.properties(
    height=60
).add_selection(brush)

upper & lower
Run Code Online (Sandbox Code Playgroud)

这样做,工具提示在 上按预期工作,lower但在 上根本不起作用upper

在此处输入图片说明

但是,如果我删除.add_selection(brush)from lower,则工具提示也会起作用upper(未更改),但这当然违背了示例的目的。我还可以upper通过将其标记为交互式来使工具提示起作用,但同样,这破坏了示例的优点。更改upperto的定义upper = base.encode(tooltip='price:Q')没有任何作用。

我将如何定义工具提示目标,使工具提示同时显示在upper和 上lower

python data-visualization vega-lite altair

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

Mahapp ShowMessageAsync MvvM

我用MVVM模式创建了最简单的WPF项目.如何ShowMessageAsync从我的viewModel 调用?

 if (DisciplineText!="")
 {
     Disciplines.Add(new Discipline(){ChairID = SelectedChair.ChairID,SemesterID = SelectedSemester.SemesterID,Discipline1 = DisciplineText});
     Context.SaveChanges();
 }
 else
 {
     //  ShowMessageAsync????????
 }
Run Code Online (Sandbox Code Playgroud)

c# wpf mvvm mahapps.metro

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

Animate +在矩阵之间平滑插值

我有一个点矩阵,如:

import numpy as np
import seaborn as sns; sns.set()
import matplotlib.pyplot as plt
%matplotlib inline

originalPoints = np.asarray([[1,2,3,4,5,6],[2,4,6,8,10,12]])
newPoints = np.asarray([[1,2,3,4,5,6],[2,4,6,8,10,12]]) + 20
plt.scatter(originalPoints[0,:],originalPoints[1,:], color='red');
plt.scatter(newPoints[0,:],newPoints[1,:], color='blue');
Run Code Online (Sandbox Code Playgroud)

这给了我:

在此输入图像描述

我正在尝试生成一个gif /动画,显示沿着从红色到蓝色的平滑路径移动的点.我一直在尝试使用类似于此处讨论的内容和scipy 在此处讨论插值,但我似乎无法弄明白.

任何帮助都会很棒.

额外奖励:也适用于3D的解决方案

编辑:要清楚,我想要的是一些非线性平滑路径,每个蓝点移动到达红点.注意 - 上面的例子组成了.实际上只有一堆蓝点和一堆红点.考虑两个不同散点图之间的动画.

python interpolation numpy matplotlib scipy

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

更改Python直方图的图例格式

我在同一张图中标注了两个不同的直方图,如下图。但是,两个直方图的图例采用方框的格式。我尝试了各种方法将框更改为行,但都不起作用。我想知道如何实现这样的功能?在此处输入图片说明

python matplotlib legend

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

熊猫根据column的值对两个数据框求和

我有两个数据框,希望y有条件地沿轴求和。

例如:

df_1

Ab值
1 1 1011
1 2 1012
2 1 1021
2 2 1022

df_2

Ab值
9 9 99
1 2 12
2 1 21

我想做df_1['value'] -= df_2['value'] if df_1[a] == df_2[a] & df_1[b] == df_2[b],所以输出将是:

输出值

Ab值
1 1 1011
1 2 1000
2 1 1000
2 2 1022

有没有一种方法可以实现这一目标,而不是迭代整个数据帧?(很大)

python dataframe pandas

0
推荐指数
1
解决办法
67
查看次数