連続行を含む Pandas データフレームの作成
データ分析のタスクでは、多くの場合、Pandas データフレームを作成し、繰り返し追加する必要があります。それに向かって列を作ります。これを実現するには、それぞれ独自の利点を持ついくつかの方法が利用可能です。
1 つの方法は、pd.DataFrame() コンストラクターを columns パラメーターとともに使用して、目的の列名を指定することです。空の DataFrame が作成され、_set_value() メソッドを使用して行を 1 つずつ追加し、個々のフィールド値を設定できます。ただし、各行に複数のフィールドを同時に追加する必要がある場合、この方法は非効率的です。
より効率的な解決策は、df.loc[i] 構文を使用することです。ここで、i は行インデックスを表します。値のリストを df.loc[i] に割り当てることにより、インデックス i の行全体を 1 ステップで設定できます。この方法は、_set_value() を複数回呼び出す必要がなくなるため、大規模なデータセットの場合はかなり高速になります。
この方法を実証するには、次のコード スニペットを検討してください。
import numpy as np import pandas as pd df = pd.DataFrame(columns=['lib', 'qty1', 'qty2']) for i in range(5): df.loc[i] = ['name' + str(i)] + list(np.random.randint(10, size=2)) print(df)
このコードは「lib」、「qty1」、「qty2」の 3 つの列を持つ空のデータフレーム。次に、「name」の後に残りの列にランダムに生成された 2 つの整数値が続く 5 行のデータを生成します。結果は、指定された構造とデータを持つ DataFrame です:
lib qty1 qty2 0 name0 3 3 1 name1 2 4 2 name2 2 8 3 name3 2 1 4 name4 9 6
以上が連続した行を持つ Pandas DataFrame を効率的に作成するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。