python - Pandas 在某些索引点增加整数?

标签 python pandas

假设我有一个整数列表,它对应于我想将整数值增加 1 的点。

例如 Int64Index([5, 10]),甚至不一定像那样间隔,我有一个类似的数据框,

    val          new_col
0   0.729726564  1
1   0.067509062  1
2   0.943927114  1
3   0.037718436  1
4   0.512142908  1
5   0.767198655  2
6   0.202230787  2
7   0.343767479  2
8   0.540026305  2
9   0.256425022  2
10  0.403845023  3
11  0.444475008  3
12  0.464677745  3

我想创建 new_col,它是一个 int,但在上述索引行上增加。

编辑:

import pandas as pd
import numpy as np

df = pd.DataFrame({'val': np.random.rand(14)})
df['new_col'] = 1

如何在每个索引点 (5, 10)new_col 的值增加一?

最佳答案

我从您的评论中看到您指的是“任意位置”,因此您可以根据需要使用 bins 将它们隔开。 .

例子:

bins = [-1,3,5,12,14] #space as you wish
labels = [1,2,3,4] #labels or in your case values that you want

df['new_col'] = pd.cut(list(df.index.values), bins=bins, labels=labels)


val new_col
0   0.509742    1
1   0.081701    1
2   0.990583    1
3   0.813398    1
4   0.905022    2
5   0.951973    2
6   0.702487    3
7   0.916432    3
8   0.647568    3
9   0.955188    3
10  0.875067    3
11  0.284496    3
12  0.393931    3
13  0.341115    4

关于python - Pandas 在某些索引点增加整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468948/

相关文章:

Python Pandas Concat 具有不同列和相同行的数据框列表

python - 是否可以将 pandas 对象与 rpy2 一起使用?

python - 如何膨胀 numpy 数组

python - 为什么 Python 的多处理模块中没有 Timer 类?

python - word2vec的tensorflow实现

python - Pandas :按有/过滤问题进行分组

python - 按阈值分隔

Python Pandas : equivalent to SQL's aggregate functions?

python - Flask 应用程序中的 Bokeh 问题渲染图

python - 枚举 DataFrame 中每个组的每一行