LoginSignup
18
15

More than 3 years have passed since last update.

pandasでインデックスとは別のカラムに連番を振る

Last updated at Posted at 2019-07-17

概要

pandasで1始まりの連番を作成、列に反映する。

背景

pandasのデータフレームをexcelやcsvで書きだす際、以下の問題点があった。

問題点

  • indexではカラム名がつかない!
  • 0始まりで、1始まりではない!

解決策として、'No'という名前で1始まりの連番カラムを作成する。

コード

pandas.RangeIndexで1始まりの連番を作成、それを'No'という列に反映する。
その後、csvファイルとして出力する。

serial_num.py
import pandas as pd

# データフレームを作成
d = {'A': ['apple_01', 'apple_02'], 'B': ['banana_01', 'banana_02']}
df = pd.DataFrame(data=d)

# pandasでインデックスとは別の行に連番を振る
serial_num = pd.RangeIndex(start=1, stop=len(df.index) + 1, step=1)
df['No'] = serial_num

# 並び替えを行う
df = df.loc[:, ['No', 'A', 'B']]

# 出力
print(df)
df.to_csv(index=False)

# 結果
# 
# - df
#    No         A          B
# 0   1  apple_01  banana_01
# 1   2  apple_02  banana_02
# 
# - csv
#  No         A          B
#   1  apple_01  banana_01
#   2  apple_02  banana_02

18
15
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
18
15