Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/323.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何使用Pandas向新列添加增量数字_Python_Pandas_Dataframe - Fatal编程技术网

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注意:这会修改数据帧,也就是说,不要重新分配df
df=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)))