問題タブ [python-collections]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python collections.Counter: most_common の複雑さ
Python のオブジェクトmost_common
によって提供される機能の複雑さはどれくらいですか?collections.Counter
より具体的には、Counter
カウント中にある種の並べ替えられたリストを保持しているため、(一意の) アイテムの数がカウンターに追加される場合most_common
よりも高速に操作を実行できますか? 参考までに、大量のテキスト データを処理して、n 番目に頻度の高いトークンを見つけようとしています。O(n)
n
CPython wiki の公式ドキュメントとTimeComplexity の記事を確認しましたが、答えが見つかりませんでした。
python - Unicode 文字列を名前として持つ namedtuple
名前付きタプルの名前として Unicode 文字列を割り当てるのに問題があります。これは機能します:
これはしません:
エラーが発生します
なぜそうなのですか?ドキュメントには、「Python 3 は識別子での Unicode 文字の使用もサポートしています」とありますが、キーは有効な unicode ですか?
python - しきい値関係を満たす組み合わせを見つける
phi
、theta
、n_1
、およびの値が与えられた場合、次の基準を満たすn_2
すべての可能なペア ( N_1
、 ) を見つける必要があります。N_2
Pythonでこれを行う最も効率的な方法は何ですか? 明らかに、(最初の 2 つの基準から) andfor
のすべての可能な値を反復し、最後の基準を満たすペアのみを保存する 2 つのループを使用できますが、これはかなり非効率的です。N_1
N_2
python - TypeError : update() takes from 1 to 2 positional arguments but 3 were given.
The Counter.update() function expects two arguments (data and its key) and I have provided two arguments but it complains of having provided three arguments.
python - 本「Python を使用した Web スクレイピング: 最新の Web からデータを収集する」第 7 章「データの正規化」セクションで同じ結果を得る方法
Python バージョン: 2.7.10
私のコード:
私は最近、本Web Scraping with Python: Collecting Data from the Modern Webに従って Web スクレイピングの方法を学びましたが、Chapter 7 Data Normalizationセクションでは、最初に本と同じようにコードを記述し、端末からエラーが発生しました。
したがって、エンティティが のリストである新しい辞書を作成して、コードを変更しましたngrams
。しかし、私はまったく異なる結果を得ました:
質問:
- 本が示すように結果を取得したい場合 (値と頻度でソートされている場合)、各 2 グラムの出現をカウントするために独自の行を作成する必要があります。または、本のコードには既にその機能がありました (本はpython 3コードでした)?github でサンプル コードを予約する
- 私の出力の頻度は、著者のものとはかなり異なっていました。たとえば、
[u'Software', u'Foundation']
37 回発生しましたが、40 回ではありませんでした。その違いの原因は何ですか (私のコード エラーでしょうか)?
本のスクリーンショット:
python - マルチプロセッシング/マップ関数でカウンターオブジェクトを返す
複数のスレッドで同じ関数を開始する Python スクリプトを実行しています。この関数は、2 つのカウンター (c1 と c2) を作成して処理します。フォークされたプロセスからのすべての c1 カウンターの結果は、一緒にマージする必要があります。異なるフォークによって返されるすべての c2 カウンターの結果と同じです。
私の(疑似)コードは次のようになります。
上記の例に従って、次のような結果が必要です: cP1 = Counter({'apple': 25, 'banana': 247, 'orange': 24}) cP2 = Counter({'red': 11, 'blue': 56、「緑」: 3})
私の質問: 親プロセスの各カウンター (すべての c1 とすべての c2) を集計するために、フォークされたプロセスの洞察をどのようにカウントできますか?
python - 与えられた数値のリストから、最も多くの数値をカバーできる修正範囲を見つけます
Python では、counter を使用してリスト内の最も一般的な要素を見つけることができます。特定の範囲に入る要素に対抗できるように、関数を渡す方法はありますか。
[123, 127, 99,75,86, 83,81] があるとします。{'12X':2, '8X':3, '99':1, '75':1 のようなものを返したいとします。 }
何か案は?