3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

DataFrameの先頭に行を追加する方法

Last updated at Posted at 2021-03-26

プログラミング初心者です。
内容に間違いがあるかもしれないのでご注意ください。


DataFrameの先頭に行を追加するメソッドは無さそうだったので、
追加したい行のみのDataFrameを作成してpandas.concat()メソッドで合成する方法をとってみる。

追加される側のDataFrameの作成
import numpy as np
import pandas as pd

# 3行2列のランダム数値が入った配列から作成
df = pd.DataFrame(np.random.rand(3,2), index=['A', 'B', 'C'], columns=['foo', 'bar'])
#         foo       bar
# A  0.299105  0.841390
# B  0.424596  0.316961
# C  0.055032  0.110246
追加したい行をDataFrameとして作成
# 追加される側と同じ列数の1行配列を作成(ここでは1行2列)
a = np.zeros(len(df.columns)).reshape(1,len(df.columns))
# array([[0., 0.]])

# DataFrameに変換する
df_insert = pd.DataFrame(a, index=['X'], columns=df.columns)
#    foo  bar
# X  0.0  0.0
pandas.concat()で合成
pd.concat([df_insert, df]) 
#         foo       bar
# X  0.000000  0.000000
# A  0.299105  0.841390
# B  0.424596  0.316961
# C  0.055032  0.110246

もっと良い方法がありそうな気もするけれど、ひとまずこれで対応。

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?