繁体   English   中英

将非唯一 ID 分配给 pandas 中的 dataframe

[英]assigning non-unique ID to a dataframe in pandas

我有一个 dataframe df

import pandas as pd

df = pd.DataFrame(
    {       "name": [
            "Hello Kitty",
            "Hello Puppy",
            "It is an Helloexample",
            "for stackoverflow",
            "Hello World",
        ],
    }
)

我想添加一个my_id列,它为每三个记录分配从 1 开始的值,即,对于前三个记录, my_id列应该得到值 1,然后对于接下来的 3 个应该得到值 2,依此类推。

如何在pandas中执行此操作?

如果默认RangeIndex ,则使用 integer 除以3和索引值:

df['my_id'] = df.index // 3 + 1

如果有任何索引,您可以使用辅助数组:

df['my_id'] = np.arange(len(df)) // 3 + 1

print (df)
                    name  my_id
0            Hello Kitty      1
1            Hello Puppy      1
2  It is an Helloexample      1
3      for stackoverflow      2
4            Hello World      2

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM