問題タブ [pandas-groupby]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - pandas DataFrame から最後の有効な (null 以外の) 値を返す
dataframe
次のような外観があるとします。
「b」でグループを作成できます。各グループの 'a' の最後の非 NA 値をすばやく取得する方法はありますか? この場合、グループ A では 3、グループ B では -9 になります。
(この場合、系列「a」は指定どおりにソートされますが、そうでない場合もあります。別の列「c」が存在する可能性があり、それに応じて「最後」が定義されます。)
grouped.groups dict を調べて、独自のループ コードを作成しました。しかし、私の巨大なデータセットを考えると、どうやらそれは非常に非効率的です。これは非常に簡単に実行できると思います-おそらく私はパンダの初心者です:-)
python - PandasGroupBy出力をSeriesからDataFrameに変換する
私はこのような入力データから始めています
印刷すると次のように表示されます。
グループ化は非常に簡単です。
印刷するとGroupBy
オブジェクトが生成されます。
しかし、最終的に必要なのは、GroupByオブジェクトのすべての行を含む別のDataFrameオブジェクトです。言い換えれば、私は次の結果を得たいと思います:
パンダのドキュメントでは、これを実現する方法がよくわかりません。ヒントは大歓迎です。
python - pandas GroupBy.agg()を使用した同じ列の複数の集計
複数回呼び出すことなく、2つの異なる集計関数f1, f2
を同じ列に適用するパンダ組み込みの方法はありますか?df["returns"]
agg()
データフレームの例:
構文的には間違っていますが、直感的に正しい方法は次のとおりです。
明らかに、Pythonは重複キーを許可していません。入力を表現する他の方法はありますagg()
か?おそらく、タプルのリストは[(column, function)]
、同じ列に複数の関数を適用できるようにするために、より適切に機能しますか?しかしagg()
、それは辞書しか受け入れないようです。
内部の両方の関数を適用するだけの補助関数を定義する以外に、これに対する回避策はありますか?(とにかく、これは集約でどのように機能しますか?)
python - DataFrame内で重複した列を結合します
同じ名前の列を持つデータフレームがある場合、同じ名前の列をある種の関数(つまり合計)と組み合わせる方法はありますか?
たとえば、次のようになります。
列名が同じである各行を合計して、NY-WEB01列(NY-WEB01だけでなく、重複する列がたくさんある)を折りたたむにはどうすればよいですか?
python - たとえば、並べ替える必要があるタプルの長いリストがあります。[('12/2010', 196.9876),('12/2010', 654.9876), ('11/2010', 234.9876)........]
たとえば、並べ替える必要があるタプルの長いリストがあります。[('11/2010', 196.9876),('11/2010', 654.9876), ('12/2010', 234.9876).........]
日付 (1 番目の要素) を使用して、タプルの 2 番目の要素を個別のリストにグループ化したいと考えています。これまでのところ、一意の日付のリストを取得しており、[11/2010,12/2010....]
これらを使用してより大きなリストを参照し、計算を実行しようとしています。
これは本当にくだらないコードかもしれませんが、私はコーディングが初めてで、これをやろうとして非常にイライラしています。提供された助けに感謝します。
PS私はPythonを使用しています
python - Python-GroupByオブジェクトのローリング関数
grouped
タイプの時系列オブジェクトがあり<pandas.core.groupby.SeriesGroupBy object at 0x03F1A9F0>
ます。grouped.sum()
目的の結果が得られますが、rolling_sumをgroupby
オブジェクトで機能させることができません。groupby
ローリング関数をオブジェクトに適用する方法はありますか?例えば:
しかし、私は次のようなものが欲しいです:
python - 値をgroupby手段で置き換える
さまざまな負の値を持ついくつかの不良データを含む列を持つDataFrameがあります。0未満の値をそれらが含まれるグループの平均に置き換えたいと思います。
NAとして欠落している値については、次のようにします。
しかし、次のような条件でこの操作を行うにはどうすればよいx < 0
ですか?
ありがとう!
python - パンダは時系列を複数列のデータフレームに変換します
以下のような日中のデータの時系列があります
列を各日付、行を日付の時刻として、データを DataFrame に変換したいと考えています。
これらを試してみましたが、
しかし、グループを日付列の DataFrame に変換するにはどうすればよいですか? または何か良い方法はありますか?
python - GroupBypandasDataFrameと最も一般的な値を選択します
3つの文字列列を持つデータフレームがあります。最初の2つのすべての組み合わせに対して、3番目の列の1つの値だけが有効であることを私は知っています。データをクリーンアップするには、最初の2列でデータフレームごとにグループ化し、組み合わせごとに3番目の列の最も一般的な値を選択する必要があります。
私のコード:
コードの最後の行が機能せず、「キーエラー'短い名前'」と表示され、都市のみでグループ化しようとすると、AssertionErrorが発生します。どうすれば修正できますか?