[解決済み】pandasでdataframeをループする最も効率的な方法は何ですか?
2022-03-24 10:18:59
質問
データフレーム内の財務データに対して、独自の複雑な操作を逐次的に行いたい。
例えば、私は以下のMSFT CSVファイルを使用しています。 ヤフーファイナンス :
Date,Open,High,Low,Close,Volume,Adj Close
2011-10-19,27.37,27.47,27.01,27.13,42880000,27.13
2011-10-18,26.94,27.40,26.80,27.31,52487900,27.31
2011-10-17,27.11,27.42,26.85,26.98,39433400,26.98
2011-10-14,27.31,27.50,27.02,27.27,50947700,27.27
....
その後、次のようにしています。
#!/usr/bin/env python
from pandas import *
df = read_csv('table.csv')
for i, row in enumerate(df.values):
date = df.index[i]
open, high, low, close, adjclose = row
#now perform analysis on open/close based on date, etc..
それが最も効率的な方法なのでしょうか?pandasがスピードに重点を置いていることを考えると、インデックスも取得する方法で値を反復する特別な関数があるはずだと思うのですが(おそらくメモリ効率を上げるためにジェネレータを通して)?
df.iteritems
残念ながら、列ごとの反復処理しかできません。
解決方法は?
pandas の最新バージョンでは、行を反復処理するための組み込み関数が追加されました。
for index, row in df.iterrows():
# do some logic here
また、より高速にしたい場合は
itertuples()
しかし、unutbuの提案する、行の反復を避けるためにnumpyの関数を使用することが、最も速いコードを生成します。
関連
-
python implement mysql add delete check change サンプルコード
-
Pythonの画像ファイル処理用ライブラリ「Pillow」(グラフィックの詳細)
-
[解決済み】numpyの配列連結。"ValueError:すべての入力配列は同じ次元数でなければならない"
-
[解決済み】TypeErrorを取得しました。エントリを持つ子テーブルの後に親テーブルを追加しようとすると、 __init__() missing 1 required positional argument: 'on_delete'
-
[解決済み】ImportError: bs4という名前のモジュールがない(BeautifulSoup)
-
[解決済み] Pythonでホームディレクトリを取得するための正しいクロスプラットフォームな方法は何ですか?
-
[解決済み] pipでインストールしたすべてのパッケージを削除する最も簡単な方法は何ですか?
-
[解決済み] リストをチャンクで反復処理する最も "pythonic "な方法は何ですか?
-
[解決済み】2つのpandas DataFrameカラムの辞書を作成する方法
-
[解決済み] pandasで出現回数をカウントする最も効率的な方法は何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Python Decorator 練習問題
-
Python機械学習Githubが8.9Kstarsに達したモデルインタープリタLIME
-
Python jiabaライブラリの使用方法について説明
-
Python 可視化 big_screen ライブラリ サンプル 詳細
-
Python interpreted model libraryによる機械学習モデル出力の可視化 Shap
-
[解決済み】TypeErrorの修正方法。Unicodeオブジェクトは、ハッシュ化する前にエンコードする必要がある?
-
[解決済み】 AttributeError("'str' object has no attribute 'read'")
-
[解決済み] itertuples を使用して pandas データフレームを反復処理する
-
[解決済み] PandasでDataFrameの行を反復処理する方法
-
[解決済み】pandasの関数をカラムに適用して、複数の新しいカラムを作成する?