Hyあります。pandas aggregate dataframeは1列のみを返します
私はこのようなパンダのデータフレーム(DF)を持っている:
foo id1 bar id2
0 8.0 1 NULL 1
1 5.0 1 NULL 1
2 3.0 1 NULL 1
3 4.0 1 1 2
4 7.0 1 3 2
5 9.0 1 4 3
6 5.0 1 2 3
7 7.0 1 3 1
...
私はID1とID2によってグループ化すると、fooとbarの平均値を取得しよう。
マイコード:
res = df.groupby(["id1","id2"])["foo","bar"].mean()
は、私は何を取得することは、私が期待するものはほとんどです:
foo
id1 id2
1 1 5.750000
2 7.000000
2 1 3.500000
2 1.500000
3 1 6.000000
2 5.333333
列「foo」というの値が正確に平均値(手段)です私は探しています私の列はどこにありますか?しかし、私はこのため (申し訳ありませんが、 「選択平均ID1、ID2により、データフレームのグループから(FOO)、平均(バー)」:
だから、SQLだろう場合、私はからのような結果を探していましたパンダへのSQL人との新しいよりますが、私は今それを必要とする)
私が代わりにしようとしたもの:。まだ列「bar」を欠落している、私はまったく同じ結果が得られる
groupedFrame = res.groupby(["id1","id2"])
aggrFrame = groupedFrame.aggregate(numpy.mean)
を。
サイトでは、私が読んで:
- http://wesmckinney.com/blog/groupby-fu-improvements-in-grouping-and-aggregating-data-in-pandas/
- https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.aggregate.html
- およびドキュメントのグループ・バイのためしかし、私はここにリンクを投稿することはできません。
私は間違っていますか? - 前もってありがとう。
どうもありがとうございました。今それは正常に動作します。おそらく、NULLがsqlと同じではないことを忘れていました。 –
喜んで助けることができます;) – jezrael