Python 如何使用Pandas向新列添加增量数字
我有一个简化的数据帧:Python 如何使用Pandas向新列添加增量数字,python,pandas,dataframe,Python,Pandas,Dataframe,我有一个简化的数据帧: ID Fruit F1 Apple F2 Orange F3 Banana 我想在数据帧的开头添加一个新列df['new_ID'],它的编号880,每行递增一个 输出应简单如下: New_ID ID Fruit 880 F1 Apple 881 F2 Orange 882 F3 Banana 我尝试了以下方法: df['New_ID'] = ["880"] # but I want to do t
ID Fruit
F1 Apple
F2 Orange
F3 Banana
我想在数据帧的开头添加一个新列df['new_ID']
,它的编号880
,每行递增一个
输出应简单如下:
New_ID ID Fruit
880 F1 Apple
881 F2 Orange
882 F3 Banana
我尝试了以下方法:
df['New_ID'] = ["880"] # but I want to do this without assigning it the list of numbers literally
你知道怎么解决这个问题吗
谢谢 这里:
df = df.reset_index()
df.columns[0] = 'New_ID'
df['New_ID'] = df.index + 880
您也可以简单地将pandas列设置为id值列表,其长度与dataframe的长度相同
df['New_ID'] = range(880, 880+len(df))
参考文档:对于索引从0开始并递增1(即默认值)的熊猫数据帧,您只需执行以下操作:
df.insert(0, 'New_ID', df.index + 880)
如果希望New\u ID
作为第一列。否则,如果你不介意它在最后:
df['New_ID'] = df.index + 880
我使用了以下代码:
df.insert(0, 'id', range(1, 1 + len(df)))
因此,我的“id”列是:
1,2,3,…很好的解决方案,但它不会在数据帧的开头插入
New_ID
列。或者按照piRSquared说的做,他的答案更好。我应该想到这一点,但当你问你的问题时,我正在操纵索引,我想我坐在槽中。这是假设索引是一个范围索引。第一个参数loc是插入索引,它是0注意:这会修改数据帧,也就是说,不要重新分配dfdf=df.insert(…)
@momo绝对是。感谢您指出这一点。如果它真的将新ID列放在第一个位置,这将是最好/最简单的解决方案,但从我可以看出,这将把它放在最后一个位置,而不是OP要求的位置。对于把我带到这里的问题,我不需要它,所以这是最简单的解决方案。谢谢
df.insert(0, 'New_ID', df.index + 880)
df['New_ID'] = df.index + 880
df.insert(0, 'id', range(1, 1 + len(df)))