小编swo*_*nep的帖子

扩展 TypeScript Map 以限制数据类型

我试图通过限制它接受的参数类型来创建一个FooMap扩展默认 TypeScriptMap类的类。我扩展这个Map类的原因是我想为那个类编写方法,我将从不同的文件访问这些方法。

默认 Map 类是Map<any,any>,但是FooMap该类类似于Map<number,Foo>使用内置number类型和用户定义Foo类型的类。将FooMap只接受这些键/值对。

我的尝试是通过在构造函数中传递地图,但我觉得有更好的方法来做到这一点。

// Say Foo class is defined as    
export class Foo {
    id: number;
    name: string;
}
Run Code Online (Sandbox Code Playgroud)

现在,FooMap类将是:

export class FooMap extends Map{
    constructor(otherMap : Map<number,Foo>){
        super(otherMap);
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为super()只接受一个可迭代对象,因此必须有更好的方法来扩展Map该类。

javascript oop inheritance typescript

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

在熊猫中获取组名的有效方法

我有一个约有300,000行的.csv文件。我已将其设置为按特定列分组,每个组大约有140个成员(总共2138个组)。

我正在尝试生成组名称的一个numpy数组。到目前为止,我已经使用了for循环来生成名称,但是处理所有内容都需要一段时间。

import numpy as np
import pandas as pd

df = pd.read_csv('file.csv')
grouped = df.groupby('col1')
group_names = []
for name,group in grouped: group_names.append(name)
group_names = np.array(group_names, dtype=object)
Run Code Online (Sandbox Code Playgroud)

我想知道是否有更有效的方法,无论是通过使用pandas模块还是将名称直接转换为numpy数组。

python csv processing-efficiency python-3.x pandas

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

计算列表中连续重复的字符串

我有一个字符串的Python列表,

输入:

li = ['aaa','bbb','aaa','abb','abb','bbb','bbb','bbb','aaa','aaa']
Run Code Online (Sandbox Code Playgroud)

如何生成另一个列表,计算列表中任何字符串的连续重复次数?对于上面的列表,返回列表类似于:

预期产出:

li_count = [['aaa',1],['bbb',1]['abb',2],['bbb',3],['aaa',2]]
Run Code Online (Sandbox Code Playgroud)

python arrays string list duplicates

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