我需要索引从1开始,而不是0,当写入一个熊猫DataFrame到CSV。
下面是一个例子:
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')
这将产生以下输出:
In [4]: !cat result.csv
Event_id,Count
0,83
1,19
2,20
但我想要的输出是:
In [5]: !cat result2.csv
Event_id,Count
1,83
2,19
3,20
我意识到这可以通过将一个移位1的整数序列作为一列添加到我的数据框中来完成,但我是Pandas的新手,我想知道是否有更干净的方法。
发布于 2013-11-24 05:57:01
索引是一个对象,默认索引从0
开始
>>> result.index
Int64Index([0, 1, 2], dtype=int64)
您可以使用以下命令按1
移位此索引
>>> result.index += 1
>>> result.index
Int64Index([1, 2, 3], dtype=int64)
发布于 2013-11-24 05:54:32
只需在写入CSV之前设置索引即可。
df.index = np.arange(1, len(df))
然后正常地编写它。
发布于 2016-08-30 05:11:12
来源:In Python pandas, start row index from 1 instead of zero without creating additional column
工作示例:
import pandas as pdas
dframe = pdas.read_csv(open(input_file))
dframe.index = dframe.index + 1
https://stackoverflow.com/questions/20167930
复制相似问题