小编Vin*_*ent的帖子

Python - 提取子字符串的最优雅方式,给出左右边框

我有一个字符串 - Python:

string = "/foo13546897/bar/Atlantis-GPS-coordinates/bar457822368/foo/"
Run Code Online (Sandbox Code Playgroud)

预期产出是:

"Atlantis-GPS-coordinates"
Run Code Online (Sandbox Code Playgroud)

我知道预期的输出总是被左边的"/ bar /"和右边的"/"包围:

"/bar/Atlantis-GPS-coordinates/"
Run Code Online (Sandbox Code Playgroud)

建议的解决方案如下:

a = string.find("/bar/")
b = string.find("/",a+5)
output=string[a+5,b]
Run Code Online (Sandbox Code Playgroud)

这有效,但我不喜欢它.有人知道一个美丽的功能或提示吗?

python string find

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

如何在[0:1]中将字符串哈希到浮点数?

我有一个包含多个字符串的数据集.我想将这些字符串中的每一个与一个浮点数相关联,"随机"分布在该[0:1]范围内.例子:

>>> myfunction(string_1)
0.26756754
>>> myfunction(string_2)
0.86764534
Run Code Online (Sandbox Code Playgroud)

random不满足我的需要,因为它不接受任何字符串作为输入/确定性参数.我正在寻找更像哈希函数的东西.

python random hash

8
推荐指数
2
解决办法
2024
查看次数

Pandas:根据条件删除一些重复值

我有一个数据集:

id    url     keep_if_dup
1     A.com   Yes
2     A.com   Yes
3     B.com   No
4     B.com   No
5     C.com   No
Run Code Online (Sandbox Code Playgroud)

我想删除重复项,即保留​​“url”字段的第一次出现,如果字段“keep_if_dup”为YES ,则保留重复项。

预期输出:

id    url     keep_if_dup
1     A.com   Yes
2     A.com   Yes
3     B.com   No
5     C.com   No
Run Code Online (Sandbox Code Playgroud)

我试过的:

Dataframe=Dataframe.drop_duplicates(subset='url', keep='first')
Run Code Online (Sandbox Code Playgroud)

这当然不考虑“keep_if_dup”字段。输出是:

id    url     keep_if_dup
1     A.com   Yes
3     B.com   No
5     C.com   No
Run Code Online (Sandbox Code Playgroud)

python duplicates pandas

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

Python - 从字符串中提取数字和逗号(使用 re.sub)

我有以下字符串(Python):

test = "    +30,0 EUR abcdefgh   "
Run Code Online (Sandbox Code Playgroud)

我想删除除数字和逗号“,”以外的所有内容。

Expected result: "30.0"
Run Code Online (Sandbox Code Playgroud)

所以基于re doc我试过:

test = re.sub('^[0-9,]', "", test)
Run Code Online (Sandbox Code Playgroud)

输出是:

"    +30,0 EUR abcdefgh   "
Run Code Online (Sandbox Code Playgroud)

什么都没有发生。为什么?

python regex string

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

Pandas Python:如何从列表中创建多列

我有一个包含要创建的列的列表:

new_cols = ['new_1', 'new_2', 'new_3']
Run Code Online (Sandbox Code Playgroud)

我想在数据框中创建这些列并用零填充它们:

df[new_cols] = 0
Run Code Online (Sandbox Code Playgroud)

获取错误:

"['new_1', 'new_2', 'new_3'] not in index"
Run Code Online (Sandbox Code Playgroud)

这是真的,但很不幸,因为我想创建它们......

编辑:这是这个问题的重复:Pandas: Add multiple empty columns to DataFrame但是我也保留了这个,因为这里接受的答案是我正在寻找的简单解决方案,而他并没有接受那里的答案

python dataframe pandas

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

如何选择除数据框的最后3列以外的所有列n Python

我想选择除数据框的最后3列之外的所有列。

我试过了 :

df.loc[:,-3]
Run Code Online (Sandbox Code Playgroud)

但这不起作用

编辑:标题

python pandas

4
推荐指数
2
解决办法
6249
查看次数

Bash:如果命令超时,请执行其他操作

我正在执行以下操作:

timeout 180 bash myscript.txt
Run Code Online (Sandbox Code Playgroud)

myscript.txt应该在不到180秒的时间内完全执行。如果不是,我希望执行紧急脚本.txt。有可能这样做吗?

喜欢

timeout 180 [bash myscript.txt] [bash emergencyscript.txt]
Run Code Online (Sandbox Code Playgroud)

bash timeout

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

熊猫按条件按列值排序

我有以下数据集(非唯一ID)

id   data  country
1    8     B
2    15    A
3    14    D
3    19    D
3    8     C
3    20    A
Run Code Online (Sandbox Code Playgroud)

对于国家/地区为“ A”的行,我想添加一个“等级”列。

对于国家/地区为A的行,我想将“等级”值保留为空(或0)。

预期产量:

id   data  country rank
1    8     B       1
2    15    A       0
3    14    D       3 
3    19    D       4
3    8     C       2
3    20    A       0
Run Code Online (Sandbox Code Playgroud)

这篇熊猫的专栏文章按列值提供了很好的见解。

我可以试试 :

df['rank'] = df['data'].rank(ascending=True)
Run Code Online (Sandbox Code Playgroud)

但是我不知道如何考虑“国家”?

python sorting pandas

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

标签 统计

python ×7

pandas ×4

string ×2

bash ×1

dataframe ×1

duplicates ×1

find ×1

hash ×1

random ×1

regex ×1

sorting ×1

timeout ×1