小编dme*_*meu的帖子

干跑的sed命令

我无法确定是否以及如何使用sed进行干运行.

所以我有这个命令:

find ./ -type f | xargs sed -i 's/string1/string2/g'
Run Code Online (Sandbox Code Playgroud)

但在我真正替换所有文件之前,我想检查一下它会替代什么.复制整个目录结构进行检查是没有选择的!

感谢您的任何反馈(消极或积极:))

sed dry

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

是否有pandas Series(pandas.Series.query())的查询方法或类似方法?

pandas.DataFrame.query()方法在加载或绘图时非常适用于(前/后)过滤数据.它对于方法链尤特别方便.

我发现自己经常想要将相同的逻辑应用于a pandas.Series,例如在完成了df.value_counts返回a之类的方法之后pandas.Series.

让我们假设有一个巨大的列表,Player, Game, Points我想绘制超过14次3分的玩家直方图.我首先必须总结每个球员(groupby -> agg)的积分,这将返回一系列约1000名球员及其总得分.应用.query逻辑它看起来像这样:

df = pd.DataFrame({
    'Points': [random.choice([1,3]) for x in range(100)], 
    'Player': [random.choice(["A","B","C"]) for x in range(100)]})

(df
     .query("Points == 3")
     .Player.values_count()
     .query("> 14")
     .hist())
Run Code Online (Sandbox Code Playgroud)

我找到的唯一解决方案迫使我做一个不必要的任务并打破方法链:

(points_series = df
     .query("Points == 3")
     .groupby("Player").size()
points_series[points_series > 100].hist()
Run Code Online (Sandbox Code Playgroud)

方法链接以及查询方法有助于保持代码清晰,同时子集化过滤可以很快变得混乱.

# just to make my point :)
series_bestplayers_under_100[series_prefiltered_under_100 > 0].shape
Run Code Online (Sandbox Code Playgroud)

请帮助我摆脱困境!谢谢

python series method-chaining dataframe pandas

17
推荐指数
3
解决办法
8588
查看次数

如果两个python脚本想要在同一个文件中写入会发生什么?

我有一个管道,在某些时候将工作拆分成各种子流程,并行执行相同的操作.因此,他们的输出应该进入同一个文件.

说所有这些进程都写入同一个文件是否风险太大?或者python是否尝试重试,如果它看到该资源被占用?

python io file

13
推荐指数
2
解决办法
4528
查看次数

撤消已推送的合并

好的,我搞得一团糟.显然,在家里的机器上,开发分支没有更新.我做了一个提交并推了推.结果是实际的origin/develop分支已合并到我的本地开发分支 - 由于某种原因被认为是不同的分支!

首先,我真的不明白这是怎么发生的,其次,我可以撤消这个吗?

为了说明它,网络现在看起来像这样:

 local-develop ---------------------------------- C*--- M -
origin/develop --- C --- C --- C --- C --- C --------- / 
Run Code Online (Sandbox Code Playgroud)

我真正想要的是C*将致力于原点/开发而不是合并分支.

正如我所说,这已经被推了.有没有办法删除更改并以我想要的方式提交它?

例如我做:

git reset --hard HEAD~1
Run Code Online (Sandbox Code Playgroud)

我不确定这是否解除了合并,我有两个不同的开发,然后合并删除等...?

git merge revert reset

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

为每个 geomp_boxplot 绘制单独的 geom_hline

我有一个箱线图,想geom_hline为每个箱线图单独添加简单的水平线。

我尝试过 R 中的箱线图示例。问题是:

  • 这些线条跨越整个图,而不仅仅是箱线图。
  • 他们在箱线图后面..;-)

感谢您提前提供的任何帮助。

    ### ADDING Lines
    somelines <- data.frame(value=c(0.2,0.3,0.4,0.6,0.7),boxplot.nr=c(1,2,3,4,5))

    abc <- adply(matrix(rnorm(100), ncol = 5), 2, quantile, c(0, .25, .5, .75, 1))
    b <- ggplot(abc, aes(x = X1, ymin = `0%`, lower = `25%`, middle = `50%`, upper = `75%`, ymax = `100%`)) + 
        geom_hline(aes(yintercept= value),somelines)
    b + geom_boxplot(stat = "identity") 
    b + geom_boxplot(stat = "identity") + coord_flip()
    b + geom_boxplot(aes(fill = X1), stat = "identity")
Run Code Online (Sandbox Code Playgroud)

我的尝试

r lines ggplot2 boxplot

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

BinaryTree (ctree, party) 的绘图忽略了 par() 的绘图选项

我想在图的上部绘制二叉树,并在第二部分(底部)制作第二个二叉树。下面是一些示例代码来显示,树的图完全忽略了由设置的分区选项par()

library("party")
### regression
airct <- ctree(Ozone ~ ., data = subset(airquality, !is.na(Ozone)))
### classification
irisct <- ctree(Species ~ .,data = iris)

par(mfrow = c(2, 1))
plot(airct)
plot(irisct)
Run Code Online (Sandbox Code Playgroud)

此代码不会在同一图(页面)中绘制两棵树。我该如何纠正?

即使遵循非常详细的答案在这种情况下也不起作用:由 'plot' 和 'ggplot' 并排生成的绘图 ctree 的绘图会忽略所有已建立的选项。

plot binary-tree r party par

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

交换Python scipy的树状图/链接的叶子

我为我的数据集生成了一个树状图,但我不满意如何对某些级别的拆分进行排序。因此,我正在寻找一种交换单个拆分的两个分支(或叶子)的方法。

如果我们看一下底部的代码和树状图,则有两个标签,11并且25与大集群的其余部分分开。我对此实在不满意,并希望带有1125的分支成为拆分的右分支,而集群的其余部分成为左分支。所示的距离将仍然相同,因此数据不会改变,只是美观。

能做到吗?如何?我特别适合手动干预,因为最佳叶子排序算法在这种情况下可能无法正常工作。

import numpy as np

# random data set with two clusters
np.random.seed(65)  # for repeatability of this tutorial
a = np.random.multivariate_normal([10, 0], [[3, 1], [1, 4]], size=[10,])
b = np.random.multivariate_normal([0, 20], [[3, 1], [1, 4]], size=[20,])
X = np.concatenate((a, b),)

# create linkage and plot dendrogram    
from scipy.cluster.hierarchy import dendrogram, linkage
Z = linkage(X, 'ward')

plt.figure(figsize=(15, 5))
plt.title('Hierarchical Clustering Dendrogram')
plt.xlabel('sample index')
plt.ylabel('distance')
dendrogram(
    Z,
    leaf_rotation=90.,  # …
Run Code Online (Sandbox Code Playgroud)

python hierarchical-clustering matplotlib dendrogram scipy

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

在 Pandas DataFrame 中删除列级别的方法链解决方案

在重塑和查询我在 pandas 中的数据时,我使用了很多方法链DataFrames。有时会为 in 索引(行)和列创建额外的和不必要的级别。如果是这样,例如在索引(行轴)上,可以使用以下方法轻松解决DataFrame.reset_index()

df.query('some query')
   .apply(cool_func)
   .reset_index('unwanted_index_level',drop=True) # <====
   .apply(another_cool_func)
Run Code Online (Sandbox Code Playgroud)

reset_index函数允许继续链方法并继续使用DataFrame.

尽管如此,我从未找到 column_axis 的等效解决方案。有吗?

python method-chaining multi-index pandas

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

Terraform:将整个资源组移动到新的 Azure 订阅

历史上增长的项目及其在 Azure 上的相关基础设施必须进行拆分。幸运的是,它的结构良好,因此很明显我们需要将两个资源组及其附属资源移动到新的 Azure 订阅。

  • 我已经检查过,大部分资源都可以移动,因此不必重新创建并且可以保留数据。

  • 对于那些无法移动的资源,幸运的是我们正在使用terraform,可以运行它来重新创建这些资源。

  • 需要移动的资源是整个terraform项目,因此不需要从当前配置文件中删除资源。所有这些都需要进行新的订阅。

到目前为止一切顺利,但现在我需要了解如何实际进行,以便 terraform 知道移动的资源。我当前看到的唯一选项是手动移动 Azure 门户上的资源,更改 CLI/for terraform 上的订阅,然后为每个资源运行terraform state rm; terraform import或 a 。terraform mv

难道没有更简单的方法来实现这一目标吗?这似乎过于麻烦,基本上可以更轻松地删除当前订阅中的整个基础设施,并通过新订阅中的 terraform 重新创建它(不是一个选项!)

infrastructure azure terraform terraform-provider-azure

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

Julia:将函数应用于 DataFrame 中的每个单元格(不丢失列名)

我正在深入研究朱莉娅,因此是我的“新手”问题。

来自 R 和 Python,我习惯于将简单的函数(算术或其他)分别应用于整个pandas.DataFrames 和data.frames。

#both R and Python
df - 1               # returns all values -1, given all values are numeric
df == "someString"   # returns a boolean df
Run Code Online (Sandbox Code Playgroud)

有点复杂

#python
df = df.applymap(lambda v: v - 1 if v > 1 else v)
Run Code Online (Sandbox Code Playgroud)
#R
df[] <- lapply(df, function(x) ifelse(x>1,x-1,x))
Run Code Online (Sandbox Code Playgroud)

问题是,我不知道如何在 Julia 中做到这一点,我在网上很难找到模拟解决方案。Stackoverflow 在使用 Google 时有很大帮助。所以在这里。我如何在 Julia 中做到这一点?

谢谢你的帮助!

PS:

到目前为止,我已经提出了以下解决方案,其中我丢失了列名。

DataFrame(colwise(x -> x .-1, df))

# seems like to much code for only …
Run Code Online (Sandbox Code Playgroud)

cell apply dataframe julia

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

向量化乘法:逐个将Julia中的两个向量相乘

我决定潜入朱莉娅,撞墙。快速。

我正在尝试复制一个简单的操作,该操作在python numpy中如下

a = numpy.array([1,2,3])
b = numpy.array([1,2,3])
a*b
[output]: [1,4,9]
Run Code Online (Sandbox Code Playgroud)

换句话说,“ [1,4,9]”是我期望的输出。

我在Julia中尝试了以下方法:

a = [1,2,3]
b = [1,2,3]
a*b
[output]: MethodError: no method matching *(::Array{Int64,1}, ::Array{Int64,1})
Run Code Online (Sandbox Code Playgroud)

或尝试明智之后:

a = [1,2,3]
b = [1,2,3]'
a*b
[output]: 3×3 Array{Int64,2}:
 1  2  3
 2  4  6
 3  6  9
Run Code Online (Sandbox Code Playgroud)

我知道这似乎是一个基本问题,但我的Google搜寻似乎不是我今天最好的,和/或stackoverflow可以使用此问题和答案;)

感谢您的帮助和指点!

最好

arrays vectorization julia vector-multiplication

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