小编mil*_*lsy的帖子

为列表中的每个唯一值分配一个数字

我有一个字符串列表.我想为每个字符串分配一个唯一的编号(确切的数字并不重要),并按顺序使用这些编号创建一个相同长度的列表.以下是我最好的尝试,但我不满意有两个原因:

  1. 它假设相同的值彼此相邻

  2. 我必须用a开始列表0,否则输出将是不正确的

我的代码:

names = ['ll', 'll', 'll', 'hl', 'hl', 'hl', 'LL', 'LL', 'LL', 'HL', 'HL', 'HL']
numbers = [0]
num = 0
for item in range(len(names)):
    if item == len(names) - 1:
      break
    elif names[item] == names[item+1]:
        numbers.append(num)
    else:
        num = num + 1
        numbers.append(num)
print(numbers)
Run Code Online (Sandbox Code Playgroud)

我想使代码更通用,因此它将使用未知列表.有任何想法吗?

python list

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

选择 2 个要加载的列范围 - pandas 中的 read_csv

我正在使用 pandas.read_csv() 读取 excel .csv 文件。我想读取 excel 电子表格的 2 个单独的列范围,例如列 A:D 和 H:J,以出现在最终的 DataFrame 中。我知道我可以在使用索引加载文件后执行此操作,但是我可以指定要加载的 2 个列范围吗?

我试过这样的事情......

usecols=[0:3,7:9]
Run Code Online (Sandbox Code Playgroud)

我知道我可以单独列出每个列号,例如

usecols=[0,1,2,3,7,8,9]
Run Code Online (Sandbox Code Playgroud)

但我已经简化了有问题的文件,在我的真实文件中,我有很多行,所以我需要能够选择 2 个大范围来读取...

python pandas

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

标签 统计

python ×2

list ×1

pandas ×1