0

私はパンダのデータ分析ライブラリを初めて使用します。私が成し遂げる必要があるタスクは次のとおりです。

列のセットを持つデータフレーム(テーブル)が与えられた場合C、列のサブセットの値Aが同一であるすべての行を選択し、それらを1つの行に結合して、他の行の値C \ Aが平均化されます。

(目標は、プログラムの複数の実行をテストし、パラメーターが同一である場合の実行時間などの値を平均化することです。)

例えば:

a       b       c       d
eggs    ham     1.0     0.0
eggs    ham     0.0     0.5
spam    eggs    0.0     1.0
spam    eggs    0.0     1.0

次のように組み合わせる必要があります。

a       b       c       d
eggs    ham     0.5     0.25
spam    eggs    0.0     1.0

aとを選択するときb(つまり、c平均化するd必要があります)。

私のオプションは何ですか?

4

1 に答える 1

6

これはgroupbyが行うことです

http://pandas.pydata.org/pandas-docs/stable/groupby.html

from StringIO import StringIO

txt = """a       b       c       d
eggs    ham     1.0     0.0
eggs    ham     0.0     0.5
spam    eggs    0.0     1.0
spam    eggs    0.0     1.0"""

df = pd.read_csv(StringIO(txt), sep="\\s+")
df.groupby(["a","b"], as_index=False).mean()
于 2013-02-28T12:26:18.243 に答える