1. ホーム
  2. python

[解決済み] Pandas DataFrame のインデックスを 1 から開始する。

2023-04-19 03:20:10

質問

PandasのDataFrameをCSVに書き出す際に、インデックスが0ではなく1から始まるようにしたいのですが、可能でしょうか?

以下はその例です。

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に新しいですし、私はよりクリーンな方法が存在するか疑問に思っています。

どのように解決するのですか?

インデックスはオブジェクトであり、デフォルトのインデックスは 0 :

>>> result.index
Int64Index([0, 1, 2], dtype=int64)

このインデックスをずらすには 1

>>> result.index += 1 
>>> result.index
Int64Index([1, 2, 3], dtype=int64)