小编use*_*ser的帖子

如果数字长度为5位或更长,则在python中断开字符串

我知道我可以使用以下命令在python中打破一个字符串:

s = re.split("[0-9]|  ", string)[0].strip()
Run Code Online (Sandbox Code Playgroud)

但是,如果我有5个或更多连续数字,我想打破字符串.

防爆.

Hello1234 => Hello1234
Hello12345 => Hello
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

python regex string

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

熊猫在由列表组成的元素上放置重复项

说我的数据框是:

df = pandas.DataFrame([[[1,0]],[[0,0]],[[1,0]]])
Run Code Online (Sandbox Code Playgroud)

产生:

        0
0  [1, 0]
1  [0, 0]
2  [1, 0]
Run Code Online (Sandbox Code Playgroud)

我想删除重复项,并且只写以下内容:[1,0]和[0,0]:

df.drop_duplicates()
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:TypeError:不可哈希类型:'列表'

如何调用drop_duplicates()?

一般而言:

df = pandas.DataFrame([[[1,0],"a"],[[0,0],"b"],[[1,0],"c"]], columns=["list", "letter"])
Run Code Online (Sandbox Code Playgroud)

我想调用df [“ list”]。drop_duplicates(),所以drop_duplicates适用于Series而不是数据框?

python python-3.x pandas

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

使用列表中的名称创建数据框

我有很多选项卡的 excel 文件。我想连接所有这些,一次一个标签。

我在做:

mypath = "mypath"
files = os.listdir(mypath)
files = [os.path.join(mypath,f) for f in files if f[-4:]=='xlsx']

sheets = pandas.ExcelFile(files[0]).sheet_names
Run Code Online (Sandbox Code Playgroud)

现在,假设我的选项卡是 alpha、beta、gamma 等,我想创建一个数据框列表 df_alpha、df_beta 等,它们是我目录中文件的所有 alpha 选项卡的联合。

通过做:

for sheet in sheets:
    df = pandas.DataFrame()
    for f in files:
        df = pandas.concat([df, pandas.read_excel(f, sheet_name=sheet)])
Run Code Online (Sandbox Code Playgroud)

我可以得到我想要的,但当然我只有一个数据框,它是每个文件中最后一个选项卡的联合。如何更改代码以便我有一个 dfs 列表,每个名称都命名为 df_alpha、df_beta 等?

python excel concatenation pandas dictionary-comprehension

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

睡眠程序在C中执行几秒钟

如何在C中暂停或暂停程序几秒钟?我正在寻找在Java中使用的类似的东西:

Thread.sleep(interval); 
Run Code Online (Sandbox Code Playgroud)

可以用C做到这一点吗?提前致谢.

c

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

将字符串转换为它描述的列表

说别人给我一个字符串:

"[[A,B],[C,D]]"
Run Code Online (Sandbox Code Playgroud)

我想提取它描述的列表:

[[A,B],[C,D]]
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

PS

A,B,C,D只是占位符,它们可以是数值或字符串.

python

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

在pandas系列中使用if/else根据条件创建新系列

我有一只熊猫df.假设我有一个"活动"列,可以是"有趣"或"工作",我想将其转换为整数.我所做的是:

df["activity_id"] = 1*(df["activity"]=="fun") + 2*(df["activity"]=="work") 
Run Code Online (Sandbox Code Playgroud)

这是有效的,因为我不知道如何将if/else放在那里(如果你有10个活动,它会变得复杂).

但是,说我现在有相反的问题,我想从id转换为字符串,我不能再使用这个技巧,因为我不能将字符串与布尔值相乘.我该怎么做?有没有办法使用if/else?

python series pandas

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