タグ付けされた質問 「python」

Pythonは、マルチパラダイム、動的型付け、多目的プログラミング言語です。これは、学習、理解、使用が迅速で、クリーンで統一された構文を適用できるように設計されています。Python 2は2020年1月1日をもって正式にサポートされなくなりました。それでも、バージョン固有のPythonの質問については、[python-2.7]または[python-3.x]タグを追加します。Pythonのバリアントまたはライブラリ(Jython、PyPy、Pandas、Numpyなど)を使用する場合は、タグに含めてください。

1
Pythonガベージコレクターのドキュメント[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 5年前休業。 この質問を改善する 私はpythonガベージコレクションがどのように機能するかを詳細に説明しているドキュメントを探しています。 どのステップで何が行われるのか興味があります。これらの3つのコレクションにはどのようなオブジェクトがありますか?各ステップでどのような種類のオブジェクトが削除されますか?参照サイクルを見つけるためにどのアルゴリズムが使用されますか? 背景:短時間で終了する必要がある検索を実装しています。ガベージコレクターが最も古い世代の収集を開始すると、他の場合よりも「はるかに」遅くなります。検索用のものよりも時間がかかりました。最も古い世代がいつ収集されるか、またどのくらいの時間がかかるかを予測する方法を探しています。 最も古い世代を収集する際に予測することは容易であるget_count()とget_threshold()。これもで操作できますset_threshold()。しかしcollect()、無理に作ったり、スケジュールされたコレクションを待つ方が、どれほど簡単に決定できるかわかりません。

7
__init __()は親クラスの__init __()を呼び出す必要がありますか?
私はObjective-Cでこの構文を使用していることに慣れています。 - (void)init { if (self = [super init]) { // init class } return self; } Pythonは、親クラスの実装も呼び出す必要があります__init__か? class NewClass(SomeOtherClass): def __init__(self): SomeOtherClass.__init__(self) # init class これはまたのための真/偽のです__new__()と__del__()? 編集:非常によく似た質問があります:Pythonでの継承とオーバーライド__init__
132 python  oop  superclass 

5
Pythonのリストに対応する辞書のキー値の反復
Python 2.7での作業。私はキーとしてチーム名を持ち、スコアリングされ、各チームに許可されたランの量を値リストとして持つ辞書を持っています。 NL_East = {'Phillies': [645, 469], 'Braves': [599, 548], 'Mets': [653, 672]} 辞書を関数にフィードして、各チーム(キー)を反復処理できるようにしたいと考えています。 これが私が使っているコードです。現在、チームごとにしか行けません。各チームを反復して、各チームの予想されるwin_percentageを出力するにはどうすればよいですか? def Pythag(league): runs_scored = float(league['Phillies'][0]) runs_allowed = float(league['Phillies'][1]) win_percentage = round((runs_scored**2)/((runs_scored**2)+(runs_allowed**2))*1000) print win_percentage 助けてくれてありがとう。

8
PythonのEmacsバルクインデント
コードのブロックにtry / exceptを追加したい場合、EmacsでPythonを使用すると、ブロック全体を1行ずつインデントする必要があることがよくあります。Emacsでは、どのようにしてブロック全体を一度にインデントするのですか? 私は経験豊富なEmacsユーザーではありませんが、sshを使用するための最良のツールであることがわかります。EmacsをGUIとしてではなく、コマンドライン(Ubuntu)で使用しています。
132 python  emacs  ssh 

3
numpy、scipy、matplotlib、pylabの混乱
Numpy、scipy、matplotlib、およびpylabは、科学計算にPythonを使用する一般的な用語です。 私はpylabについて少し学ぶだけで混乱しました。numpyをインポートしたいときはいつでも、いつでもできます: import numpy as np 考えてみます。 from pylab import * numpyも(npエイリアスと共に)インポートされます。したがって、基本的には、2番目の方が最初の方よりも多くのことを行います。 聞きたいことがいくつかあります。 pylabがnumpy、scipy、matplotlibのラッパーにすぎないのは正しいことですか? npはpylabのnumpyエイリアスなので、pylabのscipyとmatplotlibエイリアスは何ですか?(私が知る限り、pltはmatplotlib.pyplotのエイリアスですが、matplotlib自体のエイリアスはわかりません)

8
クラスに関数が定義されているかどうかを確認する最も速い方法は何ですか?
私はAI状態空間検索アルゴリズムを作成しています。検索アルゴリズムをすばやく実装するために使用できる汎用クラスがあります。サブクラスは必要な操作を定義し、残りはアルゴリズムが行います。 ここで私は行き詰まっています:親の状態を何度も再生成しないようにしたいので、任意の状態に合法的に適用できる操作を返す次の関数があります。 def get_operations(self, include_parent=True): ops = self._get_operations() if not include_parent and self.path.parent_op: try: parent_inverse = self.invert_op(self.path.parent_op) ops.remove(parent_inverse) except NotImplementedError: pass return ops そして、invert_op関数はデフォルトでスローします。 例外をキャッチするよりも関数が定義されていないかどうかを確認するより速い方法はありますか? dirに存在するかどうかのチェックの行で何かを考えていましたが、それは正しくないようです。hasattrは、getattrを呼び出し、それが発生するかどうかをチェックすることで実装されます。
132 python 

4
Python、オブジェクトの作成
私はpythonを習得しようとしていますが、今はクラスのこつとインスタンスでそれらを操作する方法を取得しようとしています。 私はこの練習問題を理解できないようです: 名前、年齢、および専攻が入力として指定されたものと同じである生徒オブジェクトを作成して返します def make_student(name, age, major) オブジェクトの意味がわかりません。これらの値を保持する関数内に配列を作成する必要があるという意味ですか?またはクラスを作成し、この関数をその中に入れて、インスタンスを割り当てますか?(この質問の前に、名前、年齢、専攻の学生クラスを設定するように求められました) class Student: name = "Unknown name" age = 0 major = "Unknown major"
132 python 

8
複数の条件が機能するNumpy
距離と呼ばれる距離の配列があります。2つの値の間にあるdistsを選択します。それを行うために、次のコード行を書きました。 dists[(np.where(dists >= r)) and (np.where(dists <= r + dr))] ただし、これは条件のみを選択します (np.where(dists <= r + dr)) 一時変数を使用してコマンドを順番に実行すると、正常に機能します。上記のコードが機能しないのはなぜですか、どうやって機能させるのですか? 乾杯
132 python  numpy 

13
指定された(数値)分布で乱数を生成します
異なる値のいくつかの確率を含むファイルがあります。例: 1 0.1 2 0.05 3 0.05 4 0.2 5 0.4 6 0.2 この分布を使用して乱数を生成したいと思います。これを処理する既存のモジュールは存在しますか?自分でコーディングするのはかなり簡単です(累積密度関数を作成し、ランダムな値[0,1]を生成し、対応する値を選択します)が、これは一般的な問題であるようで、おそらく誰かがそれ。 誕生日のリストを生成したいので、これが必要です(標準randomモジュールの配布には従いません)。
132 python  module  random 

6
__init__内でクラス関数を呼び出す
ファイル名を取得し、ファイルを開き、データを解析するコードを書いています。クラスでこれをしたいのですが。次のコードは機能します。 class MyClass(): def __init__(self, filename): self.filename = filename self.stat1 = None self.stat2 = None self.stat3 = None self.stat4 = None self.stat5 = None def parse_file(): #do some parsing self.stat1 = result_from_parse1 self.stat2 = result_from_parse2 self.stat3 = result_from_parse3 self.stat4 = result_from_parse4 self.stat5 = result_from_parse5 parse_file() しかし、それは私__init__が私のクラスの関数のスコープ内にすべての解析機構を置くことを含みます。これで、この単純化されたコードでは問題ないように見えますが、関数にparse_fileはかなり多くのレベルのインデントがあります。parse_file()以下のように関数をクラス関数として定義したいと思います。 class MyClass(): def __init__(self, …
132 python  class 

17
Pythonの最上位ディレクトリのみを一覧表示する方法は?
一部のフォルダ内のディレクトリのみを一覧表示できるようにしたい。これは、ファイル名を一覧表示したくない、または追加のサブフォルダを必要としないことを意味します。 例が役立つかどうか見てみましょう。現在のディレクトリには次のものがあります。 >>> os.listdir(os.getcwd()) ['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'LICENSE.txt', 'mod_p ython-wininst.log', 'NEWS.txt', 'pymssql-wininst.log', 'python.exe', 'pythonw.ex e', 'README.txt', 'Removemod_python.exe', 'Removepymssql.exe', 'Scripts', 'tcl', 'Tools', 'w9xpopen.exe'] ただし、ファイル名をリストに含めたくありません。\ Lib \ cursesなどのサブフォルダーも必要ありません。基本的に私が欲しいものは以下で動作します: >>> for root, dirnames, filenames in os.walk('.'): ... print dirnames ... break ... ['cx_Oracle-doc', 'DLLs', 'Doc', 'include', 'Lib', 'libs', 'Scripts', 'tcl', …

12
Pythonの相対位置でファイルを開く
pythonコードが以前のWindowsディレクトリで知られていない 'main'で実行され、実行時にコードがインストールされている場合は、ディレクトリ 'main / 2091 / data.txt'にアクセスする必要があるとします。 open(location)関数をどのように使用すればよいですか?場所は何ですか? 編集: 以下の簡単なコードが機能することがわかりました..デメリットはありますか? file="\2091\sample.txt" path=os.getcwd()+file fp=open(path,'r+');

4
numpy max vs amax vs maximum
numpyには、同じものに使用できるように見える3つの異なる関数があります--- numpy.maximumことができますのみながら、要素ごとの使用するnumpy.maxとnumpy.amax、特定の軸、またはすべての要素で使用することができます。なぜそれ以上のものがあるのnumpy.maxですか?これにはパフォーマンスの微妙な点はありますか? (同様に min vs. aminに対してminimum)
132 python  numpy  math  max 

3
コードでipythonノートブックのセル出力をクリアする
iPythonノートブックで、シリアルポートとprint受信データをリアルタイムでリッスンするwhileループがあります。 最新の受信データのみを表示するために達成したいこと(つまり、最新のデータを示す1行のみ。セル出力領域でのスクロールなし) 新しいデータを受け取ったときに古いセルの出力をクリアして、新しいデータを印刷する必要があると思います。プログラムで古いデータをクリアするにはどうすればよいですか?

20
Pythonで1つのホットエンコードを行うにはどうすればよいですか?
80%のカテゴリカル変数を使用した機械学習分類問題があります。分類に分類子を使用する場合、1つのホットエンコーディングを使用する必要がありますか?エンコードせずにデータを分類子に渡すことはできますか? 機能を選択するために次のことを実行しようとしています。 私は列車のファイルを読みました: num_rows_to_read = 10000 train_small = pd.read_csv("../../dataset/train.csv", nrows=num_rows_to_read) カテゴリー特徴のタイプを「カテゴリー」に変更します。 non_categorial_features = ['orig_destination_distance', 'srch_adults_cnt', 'srch_children_cnt', 'srch_rm_cnt', 'cnt'] for categorical_feature in list(train_small.columns): if categorical_feature not in non_categorial_features: train_small[categorical_feature] = train_small[categorical_feature].astype('category') 私は1つのホットエンコーディングを使用しています: train_small_with_dummies = pd.get_dummies(train_small, sparse=True) 問題は、強力なマシンを使用しているにもかかわらず、3番目の部分が頻繁にスタックすることです。 したがって、1つのホットエンコーディングがないと、機能の重要性を判断するために機能を選択できません。 何がお勧めですか?

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.