問題タブ [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.

0 投票する
1 に答える
635 参照

python - collections.Counter が大文字で、collections.defaultdict がそうでないのはなぜですか?

モジュール内の要素にはcollections大文字のように見えるものもあれば、そうでないものもあります。その背後に特定の理論的根拠はありますか?

0 投票する
2 に答える
30177 参照

python - pandas.DataFrame.from_dict が OrderedDict を使用して順序を保持しない

オランダ統計局 (CBS) からの OData XML データフィードをデータベースにインポートしたいと考えています。lxml と pandas を使用して、これは簡単だと思いました。OrderDict を使用して、読みやすくするために列の順序を保持したいのですが、どういうわけか正しくできません。

を調べると、 OrderDictdataは正しい順序になっています。しかしdf.head()、列を見ると、最初に CAPS でアルファベット順にソートされていますか?

誰か助けて?

0 投票する
1 に答える
1832 参照

python - Pythonのcollections.Counterでmost_commonを実行中に大文字と小文字を区別しない方法は?

most_commonモジュールで iterable を使用して、要素の出現回数をカウントしようとしていcollectionsます。

しかし、私が期待しているのは、

「大文字と小文字を区別しない」機能を組み込むための「pythonic」の方法/トリックはありますか?これにより、目的の出力を得ることができます。

0 投票する
1 に答える
91 参照

python - collections.deque を使用してこのコードを Python 2.5 から 3.4 に移植するにはどうすればよいですか?

このコードを 2.5 から 3.4 バージョンにどのように移植できますか?

10 行目: self.maxlen = maxlen

AttributeError:「collections.deque」オブジェクトの属性「maxlen」は書き込み可能ではありません

0 投票する
1 に答える
3386 参照

python - Python: キーをセットとして値をカウントとして辞書を作成する

私はデータマイニングアルゴリズムを実装しています。私の最小のオブジェクトがセットである私。セットには、単一のアイテムまたは複数のアイテム (Itemset) が含まれる場合があります。辞書内のそのようなセットの出現を次のようにカウントする必要があります。

Dict={set([<some items>] : count)}

次の理由から、このようなデータ型が必要です。

  1. セット内のアイテムの順序は考慮されません (item1、item2、item3 は item2、item3、item1 などと同じです...)
  2. セットを辞書に追加すると、キーの繰り返しが回避されます。
  3. アイテムセットと同じデータ構造にカウントを格納します。

Pythonでこれを実現する最も簡単な方法を提案してください。

0 投票する
2 に答える
207 参照

python - xlrdを使用してワークシート列から変数を計算する方法は?

Excel ドキュメントから特定の列の特定の値のすべての変数を計算しようとしています。列を反復処理して、各インスタンスの合計を計算できるようにしたい...たとえば、成績「A」を受け取った学生の数。

これが私がこれまでに持っているものです...

test.xls:

名前、クラス、グレード

ジェームズ、数学、A

ジュディ、数学、A

ビル、社会科、B

デニス、歴史、C

サラ、歴史、B

ここに私のpythonスクリプトがあります

期待される出力:

A = 2

B = 2

C = 1

実際の出力:

Counter({'グレード': 1})

カウンター({'A': 1})

カウンター({'A': 1})

カウンター({'B': 1})

カウンター({'C': 1})

カウンター({'B': 1})

各成績が異なるリストに表示されているため、リストをマージ/連結して合計を取得することができませんでした。また、目的の出力形式ではありません。

0 投票する
1 に答える
809 参照

python - コレクションカウンターpythonはキーにアクセスできません

コレクションカウンターを使用して、リスト内の各文字列 (一意ではない可能性があります) をカウントしています。問題は、辞書にアクセスできなくなったことです。その理由はわかりません。

私のコードは次のとおりです。

result1 を印刷すると、出力は次のようになります。

たとえば、44 という数字にアクセスするには、Counter['BAM'] を使用することを期待します。

しかし、これはうまくいかず、エラーが発生します:

私は何を間違っていますか?どうもありがとう。

0 投票する
1 に答える
180 参照

python - OrderedDict が super を使用しないのはなぜですか?

OrderedCounter多重継承を使用して簡単に作成できます。

Counter間違っている場合は訂正してください。ただし、これは次の使用superに大きく依存しています。

つまり、手品が機能するのは、

呼び出しは、 mrosuperの「親の前に兄弟」ルールに従って委任する必要があります。そのため、カスタム クラスはストレージ バックエンドとして を使用します。 OrderedDict

しかし、同僚が最近指摘したのですが、驚いたことに、それはsuper を使用してOrderedDict いません:

OrderedDict最初は最初に来て、レイモンドが後でそれを変更することを気にしなかったからかもしれないと思ったが、それよりもsuper前のようだOrderedDict.

なぜ明示的にOrderedDict呼び出すのですか?dict.__setitem__

そして、なぜそれはkwargである必要があるのですか? OrderedDictこれは、mro の次の行に委任するのではなく、親クラスに直接渡すため、ダイヤモンド継承の状況で使用するときに問題を引き起こしませんか?