小编ald*_*ado的帖子

在Bash中访问字符串的最后x个字符

我发现${string:0:3}一个人可以访问字符串的前3个字符.是否有一个等效的方法来访问最后三个字符?

string bash extract

109
推荐指数
4
解决办法
12万
查看次数

python:rstrip一个精确的字符串,尊重顺序

是否可以使用python命令,rstrip以便它只删除一个完整的字符串,并不单独收集所有字母?

发生这种情况时我很困惑:

>>>"Boat.txt".rstrip(".txt")
>>>'Boa'
Run Code Online (Sandbox Code Playgroud)

我的期望是:

>>>"Boat.txt".rstrip(".txt")
>>>'Boat'
Run Code Online (Sandbox Code Playgroud)

我可以以某种方式使用rstrip并尊重顺序,以便获得第二个结果吗?

python string strip

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

计算一系列值的RGB值以创建热图

我正在尝试用python创建一个热图.为此,我必须为可能值范围内的每个值分配RGB值.我想把颜色从蓝色(最小值)变为绿色到红色(最大值).

下面的图片示例解释了我如何考虑颜色组成:我们的范围从1(纯蓝色)到3(纯红色),2之间的颜色类似于绿色.

颜色成分RGB范围(1-3)

我读到了线性插值并编写了一个函数(或多或少)处理最小值和最大值之间的某个值的计算并返回RGB元组.它使用ifelif条件(这不会让我完全开心):

def convert_to_rgb(minimum, maximum, value):
    minimum, maximum = float(minimum), float(maximum)    
    halfmax = (minimum + maximum) / 2
    if minimum <= value <= halfmax:
        r = 0
        g = int( 255./(halfmax - minimum) * (value - minimum))
        b = int( 255. + -255./(halfmax - minimum)  * (value - minimum))
        return (r,g,b)    
    elif halfmax < value <= maximum:
        r = int( 255./(maximum - halfmax) * (value - halfmax))
        g = int( 255. + -255./(maximum - halfmax) …
Run Code Online (Sandbox Code Playgroud)

python rgb colors heatmap linear-interpolation

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

Python:删除通配符

我的字符串用点分隔.例:

string1 = 'one.two.three.four.five.six.eight' 
string2 = 'one.two.hello.four.five.six.seven'
Run Code Online (Sandbox Code Playgroud)

如何在python方法中使用此字符串,将一个单词指定为通配符(因为在这种情况下,例如第三个单词变化).我正在考虑正则表达式,但不知道在python中是否可以考虑我的方法.例如:

string1.lstrip("one.two.[wildcard].four.")
Run Code Online (Sandbox Code Playgroud)

要么

string2.lstrip("one.two.'/.*/'.four.")
Run Code Online (Sandbox Code Playgroud)

(我知道我可以提取它split('.')[-3:],但我正在寻找一种通用的方法,lstrip只是一个例子)

python regex string wildcard

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

检查熊猫数据框中是否有多个子字符串

我有一个 Pandas 数据框,我想检查某个列的子字符串。目前我有 30 行这样的代码:

df['NAME'].str.upper().str.contains('LIMITED')) |
(df['NAME'].str.upper().str.contains('INC')) |
(df['NAME'].str.upper().str.contains('CORP')) 
Run Code Online (Sandbox Code Playgroud)

它们都与一个or条件相关联,如果其中任何一个为真,则名称是公司的名称而不是个人的名称。

但对我来说,这似乎不是很优雅。有没有办法检查熊猫字符串列中的“此列中的字符串是否包含以下列表中的任何子字符串” ['LIMITED', 'INC', 'CORP']

我找到了 pandas.DataFrame.isin 函数,但这仅适用于整个字符串,不适用于我的子字符串。

python select substring pandas

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

Python:嵌套两种以上的引号

是否可以嵌套两种以上的报价标志?我的意思是我知道',"但如果我需要更多呢?这是允许的:

subprocess.Popen('echo "var1+'hello!'+var2"', shell=True)
Run Code Online (Sandbox Code Playgroud)

python quotes nested

7
推荐指数
2
解决办法
7119
查看次数

在数据框的开头插入列

如何将一列添加到 Rdata.frame作为新的第一列,以便所有其他列移动一列?

喜欢:

a|b|c --> new|a|b|c
Run Code Online (Sandbox Code Playgroud)

我需要这样做,因为我希望它row.names成为一个离散的列。这是必需的,因为该write.arff函数将 adata.frame作为输入,但在写入文件时不保留名称。

r arff dataframe

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

将所有选定列转换为__char

我在外部程序(Pentaho Data Integration(PDI))中使用oracle SQL查询.在继续使用它们之前,我需要将所有列转换为字符串值.

我正在寻找的是自动应用的东西

select to_date(col1), to_date(col2),..., to_date(colN) from example_table; 
Run Code Online (Sandbox Code Playgroud)

到所有列,以便您最多可以包装此语句:

select * from example_table;
Run Code Online (Sandbox Code Playgroud)

并自动转换所有列.

解释:我需要这个,因为PDI在获取未发布的DATE列时似乎不能正常工作.由于我有动态查询,我不知道是否存在DATE列,只是想将所有列转换为字符串.

编辑

由于查询各不相同,因为我有一个很长的列表作为输入,我正在寻找一种更通用的方法,而不仅仅是手动编写每列的to_char().

sql oracle pentaho kettle to-date

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

如何计算ndarray中元素的频率

我有一个numpy ndarray字符串,想知道某个单词出现在数组中的频率.我发现了这个解决方案:

letters = numpy.array([["a","b"],["c","a"]])
print (numpy.count_nonzero(letters=="a"))
Run Code Online (Sandbox Code Playgroud)

- > 2

我只是想知道我是否解决了这个不必要的复杂问题,或者这是否是最简单的解决方案,因为对于列表,有一个简单的.count().

python element numpy count multidimensional-array

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

Python:将 list.index 与正则表达式一起使用

我有一些字符串列表,我想提取其中的某个值:

["bla","blabla","blablabla","time taken to build model: 5.1 seconds", "blabla"]
Run Code Online (Sandbox Code Playgroud)

通常我会通过以下方式查找我要查找的元素的索引

list.index("time taken")
Run Code Online (Sandbox Code Playgroud)

但由于时代的变化,我想到了使用正则表达式。我只是不知道该怎么做。

那么我怎样才能找到与某个正则表达式匹配的列表元素的索引,例如 re.match() ?(如果不遍历列表,这将花费很长时间)

python regex indexing search list

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