我有以下字符串:“ abcdefx”,“ zzdefghij”我想提取两个字符串的共同部分,即这里的“ def”。我尝试使用sed,但是除非通用部分是这样的前缀,否则我将无法做到这一点:
fprint "%s\n%\n" | sed -e 'N;s:\(.*\).*\n\1.*:\1:'
Run Code Online (Sandbox Code Playgroud) 我想将一个字符串拆分为与正则表达式模式匹配的部分以及与列表不匹配的部分.
例如
import re
string = 'my_file_10'
pattern = r'\d+$'
# I know the matching pattern can be obtained with :
m = re.search(pattern, string).group()
print m
'10'
# The final result should be as following
['my_file_', '10']
Run Code Online (Sandbox Code Playgroud) 我想要标记,如空格,+,或x,或.,或任何内部厚度可调; 事实上,像Origin一样.它似乎需要定制.
代码示例:
import numpy as np
import matplotlib.pyplot as plt
plt.plot(np.arange(10) ** 2,
'k-',
marker = 's',
mfc = 'none',
lw = 2,
mew = 2,
ms = 20)
plt.show()
Run Code Online (Sandbox Code Playgroud) 我有几个数据数字文件,其中小数点分隔符是逗号.所以我使用lambda函数进行转换:
import numpy as np
def decimal_converter(num_cols):
conv = dict((col, lambda valstr: \
float(valstr.decode('utf-8').replace(',', '.'))) for col in range(nb_cols))
return conv
data = np.genfromtxt("file.csv", converters = decimal_converter(3))
Run Code Online (Sandbox Code Playgroud)
文件中的数据是这样的:
0; 0,28321815; 0,5819178
1; 0,56868281; 0,85621369
2; 0,24022026; 0,53490058
3; 0,63641921; 0,0293904
4; 0,65585546; 0,55913776
Run Code Online (Sandbox Code Playgroud)
这里有我的函数,decimal_converter我需要指定我的文件包含的列数.通常我不需要指定numpy.genfromtxt文件中的列数,而是需要查找所有列.即使使用转换器选项,我也希望保留此功能.
我想绘制一些通过测量得到的数据.我将在每个图上绘制6个测量值,但我希望每个测量数据图具有与其拟合相同的颜色.从一个测量数据图到下一个,我想要matplotlib的defalut颜色循环.
首先,如果加载数据如下:
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as np
data1 = np.genfromtxt('data1.txt')
fit1 = np.genfromtxt('fit1.txt')
...
Run Code Online (Sandbox Code Playgroud)
那么问题,我当然可以在rcParams中重新定义颜色序列,如下所示:
ColourSeq = []
ColourSeqOriginal = mpl.rcParams['axes.color_cycle']
for ind in range(len(ColourSeqOriginal)):
ColourSeq.append(ColourSeqOriginal[ind])
ColourSeq.append(ColourSeqOriginal[ind])
mpl.rcParams['axes.color_cycle'] = ColourSeq
Run Code Online (Sandbox Code Playgroud)
但这看起来很复杂.
最简单的事情似乎是:
plt.figure()
plt.plot(xdata, data1, xdata, fit1, '???')
plt.plot(xdata, data2, xdata, fit2, '???')
plt.plot(xdata, data3, xdata, fit3, '???')
Run Code Online (Sandbox Code Playgroud)
'???' 作为命令选项,我不知道是否存在一些会阻止plt.plot递增给定数据的颜色值.但是从一个plt.plot()调用到下一个,我需要有正常的颜色增量.
matplotlib文本字段的代码中的字符或字符串是什么来打破该行以避免代码行太长?
例如:
plt.text(0.5, 0.5,
r'$\mathsf{sin\left(\frac{\pi}{180} f_1 \theta + \varphi_1\right) + B sin\left(\frac{\pi}{180} f_2 \theta + \varphi_2\right)}$'
Run Code Online (Sandbox Code Playgroud)
利用"\"突破长线收益率在未格式化的文本打印.
python ×4
matplotlib ×3
bash ×1
converter ×1
file-io ×1
genfromtxt ×1
numpy ×1
regex ×1
string ×1