Pandas DataFrame のインデックスを 1 から開始する [重複] 質問する

Pandas DataFrame のインデックスを 1 から開始する [重複] 質問する

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 を初めて使用するので、よりクリーンな方法があるかどうか疑問に思っています。

ベストアンサー1

インデックスはオブジェクトであり、デフォルトのインデックスは次の場所から始まります0:

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

このインデックスをシフトするに1

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

おすすめ記事