4

というパンダの groupby オブジェクトがありますgroupedgrouped.mean()他の単純な機能を動作させることはできますが、動作させることができませんgrouped.quantile()。を実行しようとすると、次のエラーが表示されますgrouped.quantile()

ValueError: ('invalid literal for float(): groupA', u'occurred at index groups')

テキスト ラベルでグループ化しているため、関数がそれを float に変換しようとする理由がわかりません。各グループ内のフロートを使用して分位数を計算する必要があります。誰かが私が間違っていることを指摘するのを助けることができますか?

4

1 に答える 1

2

quantile() は厄介な列を無視せず、テキスト列の分位数を見つけようとしているようです。以下に簡単な例を示します。

In [75]: df = DataFrame({'col1':['A','A','B','B'], 'col2':[1,2,3,4]})

In [76]: df
Out[76]:
  col1  col2
0    A     1
1    A     2
2    B     3
3    B     4

In [77]: df.groupby('col1').quantile()
ValueError: ('could not convert string to float: A', u'occurred at index col1')

ただし、数値列のみをサブセット化すると、次のようになります。

In [78]: df.groupby('col1')['col2'].quantile()
Out[78]:
col1
A       1.5
B       3.5
于 2013-01-02T16:25:28.563 に答える