work3というデータセットがあり、 'clean_name'列に基づいて重複する行を削除しようとしています。dataset.drop_duplicates()はValueErrorを返します:渡されたアイテムの数が間違っていますが、サンプル(frac = 1)はありません
work3.info()
出力::以下はWORK3に関する情報である
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3295520 entries, 0 to 3330947
Data columns (total 4 columns):
id int64
name object
address object
clean_name object
dtypes: int64(1), object(3)
memory usage: 276.7+ MB
と私はdrop_duplicatesをしようとすると、それはValueErrorを私にもたらします:
work3.drop_duplicates(['clean_name'])
出力:
ValueError: Wrong number of items passed 2117463, placement implies 3295520
今、私はそれを試そうとするが、frを作るAC = 1、データセット全体を取り、その後情報をチェックする:
test = work3.sample(frac=1)
test.info()
出力:
<class 'pandas.core.frame.DataFrame'>
Int64Index: 3295520 entries, 419298 to 978722
Data columns (total 4 columns):
id int64
name object
address object
clean_name object
dtypes: int64(1), object(3)
memory usage: 125.7+ MB
..theメモリ使用量は同じくらい約半分です! 276.7+ MBの代わりに125.7+ MB。さらに重要なこと 、私はそれにdrop_duplicates機能を実行します。
test.drop_duplicates(['clean_name'))
それは私がエラーなしで欲しいものを私に与えます!私はここに何かを逃していますか
2117463 rows × 4 columns
を要約すると、ここに私の質問は以下のとおりです。
- はなぜメモリ使用量は、それがまったく同じデータセットのにもかかわらず、半減しましたか?
なぜ、サンプルtest.drop_duplicates()はエラーなく動作しますが、元のデータセット3は、ValueErrorを与えてくれますか?