1

日付と測定値を含む複数のファイルがあります。セットアップは同じです。

YYYY  MM  DD  val1
YYYY  MM  DD  val2
YYYY  MM  DD  val3

以下を使用して、これらの各ファイルをDataFrame

for cur_file in file_list:
    cur_df = pa.io.parsers.read_table(os.path.join(data_path, result)
                                                , header=None
                                                , sep='\s*'
                                                , parse_dates=[[0,1, 2]]
                                                , names=['day','month', 'hour', cur_file[:-4]]
                                                , index_col=[0]
                                                )

日付はすべてのファイルで同一ではありません。重複する場合もありますが、必ずではありません。

各 cur_df を個別にプロットできます

cur_df.plot()

ループの中。

すべてcur_dfを 1 つの「大きな」DataFrame にまとめることをお勧めします。プロットと後の統計の両方に使用できます。日付が同じではないことを考えると、これはどのように行うのが理想的でしょうか? 基礎となる DataFrame の 1 つだけで発生する複数の DataFrame の日付を「マージ」する方法はありますか?

次のようなデータフレームを探していると思います:

YYYY MM DD  val1(from1)  NaN
YYYY MM DD  val2(from1)  val2(from2)
YYYY MM DD  NaN          val3(from2)

最初の行で val1 の日付から日付スタンプを取得し、2 行目で val1 と val2 の日付が同一であり、3 行目で val2 に基づいて日付を取得します。

cur_df.add(cur_df2) を調べて、2 つの DataFrame を追加しました。cur_df.combine(cur_df2, ...) が何をするかはわかりません。特に、2 番目の引数としてどの関数を使用する必要があるかがわからないためです。

助けてくれてありがとう、乾杯、クラウス

4

1 に答える 1

1

コードスニペットから、解析された日付値はインデックスである必要があり、各DataFrameは異なる列名の値を持つように見えますか?その場合、toを繰り返し呼び出すことDataFrame.combine_firstでうまくいくはずだと思います。

また、「keep_date_col = True」も渡していますか?デフォルトでは、複数の日付コンポーネントを1つに解析するときに、パーサーはコンポーネントの日付列を破棄する必要があります(そうでない場合はバグなので、お知らせください)。

一番、

チャン

于 2012-07-09T18:01:30.437 に答える