首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Pandas DataFrame的起始索引为1

Pandas DataFrame的起始索引为1
EN

Stack Overflow用户
提问于 2013-11-24 05:12:24
回答 9查看 125.1K关注 0票数 84

我需要索引从1开始,而不是0,当写入一个熊猫DataFrame到CSV。

下面是一个例子:

代码语言:javascript
复制
In [1]: import pandas as pd

In [2]: result = pd.DataFrame({'Count': [83, 19, 20]})

In [3]: result.to_csv('result.csv', index_label='Event_id')                               

这将产生以下输出:

代码语言:javascript
复制
In [4]: !cat result.csv
Event_id,Count
0,83
1,19
2,20

但我想要的输出是:

代码语言:javascript
复制
In [5]: !cat result2.csv
Event_id,Count
1,83
2,19
3,20

我意识到这可以通过将一个移位1的整数序列作为一列添加到我的数据框中来完成,但我是Pandas的新手,我想知道是否有更干净的方法。

EN

回答 9

Stack Overflow用户

回答已采纳

发布于 2013-11-24 05:57:01

索引是一个对象,默认索引从0开始

代码语言:javascript
复制
>>> result.index
Int64Index([0, 1, 2], dtype=int64)

您可以使用以下命令按1移位此索引

代码语言:javascript
复制
>>> result.index += 1 
>>> result.index
Int64Index([1, 2, 3], dtype=int64)
票数 127
EN

Stack Overflow用户

发布于 2013-11-24 05:54:32

只需在写入CSV之前设置索引即可。

代码语言:javascript
复制
df.index = np.arange(1, len(df))

然后正常地编写它。

票数 29
EN

Stack Overflow用户

发布于 2016-08-30 05:11:12

来源:In Python pandas, start row index from 1 instead of zero without creating additional column

工作示例:

代码语言:javascript
复制
import pandas as pdas
dframe = pdas.read_csv(open(input_file))
dframe.index = dframe.index + 1
票数 17
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20167930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档