私はこの質問のために簡略化された以下の構造のデータフレームを持っています。日付で行をグループ化し、NaN値を上書きする
A B C D E
0 2014/01/01 nan nan 0.2 nan
1 2014/01/01 0.1 nan nan nan
2 2014/01/01 nan 0.3 nan 0.7
3 2014/01/02 nan 0.4 nan nan
4 2014/01/02 0.5 nan 0.6 0.8
ここで私が持っているのは、複数のタイムスタンプ間の一連の読み取り値です。列B、C、DおよびEは異なる位置を表す。私が読み込んでいるデータは、指定されたタイムスタンプで特定の場所からデータを取り、他の場所の値を入力するように設定されています。
私がしたいことは、.GroupBy()
コマンドで簡単に行うことができるタイムスタンプでデータをグループ化することです。そこから、グループ化されたデータのナノ値に、後の行で取られた有効な値を上書きして、次の結果が得られるようにします。
A B C D E
0 2014/01/01 0.1 0.3 0.2 0.7
1 2014/01/02 0.5 0.4 0.6 0.8
これを達成するにはどうすればよいですか?
なぜ 'np.nansum'が必要ですか? 'df.groupby( 'A'、as_index = False、sort = False).sum()' - トリックを行う必要があります... – MaxU
@MaxU Brilliant。 sum()がナンを考慮に入れたかどうかは分かりませんでした。私はまだあなたのコメントを歓迎して学んでいます:) –
優れた答え。 Pandas docsにリンクする:https://pandas.pydata.org/pandas-docs/stable/groupby.html#groupby-sorting –