DataFrameに数字を追加する

ゆうき( @BASEBALLY15 )です^^

データフレームに,このように1から順番に番号を付ける方法を教えてください・・・

HighLowOpenCloseVolumeAdj Close
Date
2009-12-31311.532288308.832428311.208527308.8324282448700.0308.832428
2010-01-04313.579620310.954468312.304413312.2047733927000.0312.204773
2010-01-05312.747742309.609497312.418976310.8299266031900.0310.829926
2010-01-06311.761444302.047852311.761444302.9942937987100.0302.994293
2010-01-07303.861053295.218445303.562164295.94073512876600.0295.940735

HighLowOpenCloseVolumeAdj CloseNumber
Date
2009-12-31311.532288308.832428311.208527308.8324282448700.0308.8324281
2010-01-04313.579620310.954468312.304413312.2047733927000.0312.2047732
2010-01-05312.747742309.609497312.418976310.8299266031900.0310.8299263
2010-01-06311.761444302.047852311.761444302.9942937987100.0302.9942934
2010-01-07303.861053295.218445303.562164295.94073512876600.0295.9407355

分かりました^^
それでは,今回は DataFrameに1,2,3,4,5,6,…と数字を追加するコードを紹介します.

よろしくお願いします・・・

Today’s Code

GOOG["Number"] = [i+1 for i in range(len(GOOG))]

この1文で,DataFrameに数字を追加することが出来ます.

range(len(GOOG)は,GOOGの長さの範囲を意味しています.

つまり,for i in range(len(GOOG))は,GOOGの長さの範囲分,iに代入していくという意味です.

一般的に,len()は0,1,2,3,…と始まりの値が0で始まるため,i+1とすることで,1からスタートしています.

全コード

ライブラリ

import numpy as np

import pandas as pd

from pandas import Series, DataFrame

import pandas_datareader as pdr

from pandas_datareader import DataReader

import matplotlib.pyplot as plt

from datetime import datetime

import seaborn as sns

コード

#リストを作成
gafa_list=["GOOG","AAPL","FB","AMZN"]

#現在
end = datetime.now()
end_year = end.year

#始まり
start = datetime(end.year-10,end.month,end.day)
stare_year = start.year

for gafa_stock in gafa_list:
    globals()[gafa_stock] = pdr.DataReader(gafa_stock, "yahoo", stare_year, end_year)


GOOG["Number"] = [i+1 for i in range(len(GOOG))]

#実行
GOOG.head()
HighLowOpenCloseVolumeAdj CloseNumber
Date
2009-12-31311.532288308.832428311.208527308.8324282448700.0308.8324281
2010-01-04313.579620310.954468312.304413312.2047733927000.0312.2047732
2010-01-05312.747742309.609497312.418976310.8299266031900.0310.8299263
2010-01-06311.761444302.047852311.761444302.9942937987100.0302.9942934
2010-01-07303.861053295.218445303.562164295.94073512876600.0295.9407355

終わりに

DataFrameを扱う際に,indexの値が複雑なことが多くないですか?

そんな時は,是非今回ご紹介したコードを使ってみてください^^

それでは・・・

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA