4

グループサイズの「カウント」に一貫性がないのはなぜですか?
私はPandas10.0を使用しており、600万行のデータセットが400kグループに削減されています。

In [16]: df.groupby('Z ID').size()[470009:470010]
Out[16]:
Z ID
994555          6

In [14]: df[df['Z ID'] == 994555].groupby('Z ID').size() 
Out[14]:
Z ID
994555          9

生データを確認したところ、9項目あります。

編集:生データ 完全なデータセットは600万レコードです。パンダsize()は小さな男に最適です。

            FilterDate           Z ID   AR Code AA Code
48349    12/1/2007..2/28/2009    994555  377     202
151060   2/1/2008..4/30/2009     994555  377     202
204179   3/1/2008..5/31/2009     994555  377     202
244504   4/1/2008..6/30/2009     994555  377     202
302728   5/1/2008..7/31/2009     994555  377     202
365780   6/1/2008..8/31/2009     994555  377     202
431555   7/1/2008..9/30/2009     994555  377     202
499234   8/1/2008..10/31/2009    994555  377     202
786937   12/1/2008..2/28/2010    994555  377     202
4

1 に答える 1

0

dtypes が「オブジェクト」であるというコメントに基づいて、Z_ID が文字列の列としてロードされ、因子列が発生するのではないかと思います。一部の文字列の先頭にスペースがある場合、それらは異なる因子レベルとして解釈されます。

より一般的には、列が保持する「オブジェクト」タイプに関係なく、思ったように機能しない比較関数がある可能性があります。これは少しストレッチです。

データフレーム列の dtype が int64 ではない理由を理解することをお勧めします。パンダで作業する場合、データフレームで dtypes を正しく取得することが非常に重要であることがわかりました。少しのコードを投稿できれば、ここのコミュニティがタイプを適切にロードするための提案をしてくれると確信しています。

于 2013-03-07T15:12:02.243 に答える