Pandas DataFrame に 1 行を追加する方法

  1. .loc[index] メソッドを使用して、リストを含む行を Pandas dataframe に追加します
  2. 辞書を行として追加して、Pandas dataframe に追加します
  3. 行を追加するための dataframe .append メソッド

Pandas は完全に入力された dataframe をロードするように設計されています。pandas.Dataframe に 1 行ずつ追加できます。これは、.locdictionariespandas.concat()、または DataFrame.append() などのさまざまなアプローチを使用して実行できます。

.loc[index] メソッドを使用して、リストを含む行を Pandas dataframe に追加します

loc[index] は新しいリストを新しい行として受け取り、それを pandas.Dataframe の指定された index に追加します。

次のコードについて考えます。

# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [ ('Orange', 34, 'Yes' )]
#Create a DataFrame object
df = pd.DataFrame(fruit_list, columns = ['Name' , 'Price', 'Stock'])
#Add new ROW
df.loc[1]=[ 'Mango', 4, 'No' ]
df.loc[2]=[ 'Apple', 14, 'Yes' ]
print(df)

出力:

     Name  Price Stock
0  Orange     34   Yes
1   Mango      4    No
2   Apple     14   Yes

辞書を行として追加して、Pandas dataframe に追加します

append() は、key-value ペアのディクショナリの値を直接行として取得し、Pandas dataframe に追加できます。

次のコードについて考えます。

# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [ ('Orange', 34, 'Yes' )]
#Create a DataFrame object
df = pd.DataFrame(fruit_list, columns = ['Name' , 'Price', 'Stock'])
#Add new ROW
df=df.append({'Name' : 'Apple' , 'Price' : 23, 'Stock' : 'No'} , ignore_index=True)
df=df.append({'Name' : 'Mango' , 'Price' : 13, 'Stock' : 'Yes'} , ignore_index=True)
print(df)

出力:

     Name  Price Stock
0  Orange     34   Yes
1   Apple     23    No
2   Mango     13   Yes

行を追加するための dataframe .append メソッド

.append を使用して、他の dataframe の行を元の dataframe の末尾に追加し、新しい dataframe を返すことができます。元の datafarme にない新しい dataframe の列も既存の dataframe に追加され、新しいセルの値は NaN で埋められます。

次のコードについて考えます。

# python 3.x
import pandas as pd
# List of Tuples
fruit_list = [ ('Orange', 34, 'Yes' )]
#Create a DataFrame object
df = pd.DataFrame(fruit_list, columns = ['Name' , 'Price', 'Stock'])
print("Original DataFrame:")
print(df)
print('.............................')
print('.............................')
new_fruit_list = [ ('Apple', 34, 'Yes','small' )]
dfNew=pd.DataFrame(new_fruit_list, columns = ['Name' , 'Price', 'Stock','Type'])
print("Newly Created DataFrame:")
print(dfNew)
print('.............................')
print('.............................')
#append one dataframe to othher
df=df.append(dfNew,ignore_index=True)
print("Copying DataFrame to orignal...")
print(df)

ignore_index=True は新しい dataframeindex を無視し、元の dataframe からの新しいインデックスを割り当てます。

出力:

Original DataFrame:
     Name  Price Stock
0  Orange     34   Yes
.............................
.............................
Newly Created DataFrame:
    Name  Price Stock   Type
0  Apple     34   Yes  small
.............................
.............................
Copying  DataFrame to original..:
     Name  Price Stock   Type
0  Orange     34   Yes    NaN
1   Apple     34   Yes  small

関連記事 - Pandas DataFrame

  • Pandas のデータフレームの行を反復する方法
  • Pandas DataFrame で浮動小数点数 float を整数 int に変換する方法
  • comments powered by Disqus