ホームページ >バックエンド開発 >Python チュートリアル >連続した行を持つ Pandas DataFrame を効率的に作成するにはどうすればよいですか?

連続した行を持つ Pandas DataFrame を効率的に作成するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2024-12-16 11:59:10300ブラウズ

How to Efficiently Create a Pandas DataFrame with Sequential Rows?

連続行を含む 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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。