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

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

15
Pythonのsuper()は多重継承でどのように機能しますか?
私はPythonオブジェクト指向プログラミングでかなり新しいsuper()ので、特に多重継承に関しては、関数(新しいスタイルクラス)を理解するのに苦労しています。 たとえば、次のような場合: class First(object): def __init__(self): print "first" class Second(object): def __init__(self): print "second" class Third(First, Second): def __init__(self): super(Third, self).__init__() print "that's it" 取得できないのは、Third()クラスが両方のコンストラクターメソッドを継承するかどうかです。はいの場合、どれがsuper()で実行されますか?その理由は? そして、もう一方を実行したい場合はどうなりますか?私はそれがPythonメソッド解決順序(MRO)と関係があることを知っています。

30
DataFrame列の順序を変更するにはどうすればよいですか?
次のものがありますDataFrame(df): import numpy as np import pandas as pd df = pd.DataFrame(np.random.rand(10, 5)) 割り当てによって列をさらに追加します。 df['mean'] = df.mean(1) どうすれば列meanを前に移動できますか。つまり、他の列の順序を変更せずに最初の列として設定するにはどうすればよいですか?
879 python  pandas  dataframe 

24
Pythonを使用してHTTP経由でファイルをダウンロードするにはどうすればよいですか?
小さなユーティリティを使用して、定期的にWebサイトからMP3ファイルをダウンロードし、iTunesに追加したポッドキャストXMLファイルを作成/更新しています。 XMLファイルを作成/更新するテキスト処理はPythonで記述されています。しかし、私はWindows内でwgetを使用しています.bat実際のMP3ファイルをダウンロードするにはファイルます。ユーティリティ全体をPythonで記述したいと思います。 実際にPythonでファイルをダウンロードする方法を見つけるのに苦労しました。 wget。 では、Pythonを使用してファイルをダウンロードするにはどうすればよいですか?
875 python  http  urllib 

22
2Dアレイでのピーク検出
犬の足の下の圧力を測定する獣医クリニックを支援しています。データ分析にPythonを使用していますが、足を(解剖学的)サブ領域に分割しようとしています。 各足の2Dアレイを作成しました。これは、時間の経過とともに足によって読み込まれた各センサーの最大値で構成されます。Excelを使用して「検出」したい領域を描画する1つの足の例を次に示します。これらは、センサーの周囲にある2 x 2のボックスで、極大値を持ち、合計が最大になります。 だから私はいくつかの実験を試みて、単純に各列と行の最大値を探すことに決めました(足の形状のために一方向に見ることはできません)。これは、別々の足指の位置をかなり「検出」するようですが、隣接するセンサーにもマークを付けます。 それで、これらの最大値のうちのどれが私が欲しいものであるかをPythonに伝える最良の方法は何でしょうか? 注:2x2の正方形はつま先を分離する必要があるため、重ねることはできません。 また、便宜上2x2を採用しましたが、より高度なソリューションも歓迎しますが、私は人間の運動科学者なので、本物のプログラマでも数学者でもないので、「シンプル」にしてください。 ここだとロードすることができますバージョンは、np.loadtxt 結果 そこで、@ jexteeの解決策を試しました(以下の結果を参照)。ご覧のとおり、前足には非常に効果的ですが、後脚にはあまり効果がありません。 具体的には、4番目のつま先である小さなピークを認識できません。これは明らかに、ループがどこにあるかを考慮せずに、ループがトップダウンで最低値に向かっているという事実に固有です。 @jexteeのアルゴリズムを調整して、4番目の足指も見つけることができるようにする方法を知っている人はいますか? 他のトライアルはまだ処理していないため、他のサンプルを提供することはできません。しかし、私が以前に提供したデータは、各足の平均でした。このファイルは、プレートと接触した順番で9足の最大データを含む配列です。 この画像は、それらがプレート上で空間的に広がっていることを示しています。 更新: 私が興味のある人のためのブログを設定していると私はすべての生の測定値とのセットアップのSkyDriveを持っています。つまり、より多くのデータを要求する人にとっては、より強力なものになります! 新しいアップデート: 足の検出と足の並べ替えに関する質問に協力していただいた結果、すべての足の足指の検出を確認することができました。結局のところ、私自身の例のような足のサイズの足以外では、うまく機能しません。後から考えてみると、2x2を恣意的に選択するのは私自身の責任です。 これがうまくいかない良い例です:爪がつま先として認識され、「かかと」が非常に幅広で、2回認識されます! 足が大きすぎるため、オーバーラップのない2x2サイズを使用すると、一部の足指が2回検出されます。逆に言えば、小型犬では5番目のつま先が見つからないことがよくあります。これは、2x2の領域が大きすぎるために発生していると考えられます。 私のすべての測定で現在の解決策を試した後、ほとんどすべての小型犬では5番目のつま先が見つからず、大型犬への影響の50%以上でさらに多くの発見があるという驚異的な結論に達しました。 だから私は明らかにそれを変更する必要があります。私の推測ではneighborhood、小型犬の場合はサイズを小さくし、大型犬の場合はサイズを大きくしています。しかしgenerate_binary_structure、配列のサイズを変更することはできません。 したがって、足のサイズにつま先の領域のスケールを設定するなど、つま先の位置を特定するためのより良い提案が他にあることを願っていますか?

16
.whlファイルを含むPythonパッケージをインストールするにはどうすればよいですか?
WindowsマシンへのPythonパッケージのインストールに問題があり、Christoph GohlkeのWindowバイナリと共にインストールしたいと思っています。(これは、私の経験では、他の多くのパッケージインストールの手間を大幅に軽減しました)。ただし、使用できるのは.whlファイルのみです。 http://www.lfd.uci.edu/~gohlke/pythonlibs/#jpype しかし、どうすれば.whlファイルをインストールできますか? ノート ホイールにドキュメントを見つけましたが、.whlファイルのインストール方法を説明するのは簡単ではありません。 この質問はこの質問と重複していますが、直接回答されていません。

25
pandas DataFrameに1行追加する
私はパンダが完全に読み込まれたように設計されていることを理解していますが、空のDataFrameDataFrameを作成してから、行を1つずつ追加する必要があります。これを行う最良の方法は何ですか? 私は空のデータフレームを正常に作成しました: res = DataFrame(columns=('lib', 'qty1', 'qty2')) 次に、新しい行を追加して、フィールドに次のように入力します。 res = res.set_value(len(res), 'qty1', 10.0) 動作しますが非常に奇妙に見えます:-/(文字列値の追加に失敗します) DataFrameに新しい列を追加するにはどうすればよいですか(列の種類が異なります)。

24
辞書で最大値のキーを取得していますか?
私はdictionary:キーは文字列、値は整数です。 例: stats = {'a':1000, 'b':3000, 'c': 100} 'b'値が高い方のキーなので、回答としていただきたいと思います。 Key-Valueタプルを逆にした中間リストを使用して、次のことを行いました。 inverse = [(value, key) for key, value in stats.items()] print max(inverse)[1] それはより良い(またはよりエレガントな)アプローチですか?
867 python  dictionary  max 

6
2つのリストを並行して反復する方法は?
Pythonには2つのイテラブルがあり、それらをペアで調べたいと思います。 foo = (1, 2, 3) bar = (4, 5, 6) for (f, b) in some_iterator(foo, bar): print "f: ", f, "; b: ", b 結果は次のようになります。 f: 1; b: 4 f: 2; b: 5 f: 3; b: 6 これを行う1つの方法は、インデックスを反復処理することです。 for i in xrange(len(foo)): print "f: ", foo[i], "; b: ", …

3
Python 3で文字列をバイトに変換する最良の方法?
TypeErrorへの回答に示されているように、文字列をバイトに変換するには2つの異なる方法があるようです: 'str'はバッファーインターフェイスをサポートしていません これらの方法のうち、Pythonicの方が優れているか、より優れているでしょうか?それとも個人的な好みの問題ですか? b = bytes(mystring, 'utf-8') b = mystring.encode('utf-8')

14
リスト内包表記対ラムダ+フィルター
たまたま、基本的なフィルタリングの必要性があることに気づきました。リストがあり、アイテムの属性でフィルタリングする必要があります。 私のコードは次のようになりました: my_list = [x for x in my_list if x.attribute == value] でも、こんなふうに書いた方がいいのではないかと思いました。 my_list = filter(lambda x: x.attribute == value, my_list) より読みやすく、パフォーマンスに必要な場合はラムダを取り出して何かを取得できます。 質問です:2番目の方法を使用する際に注意点はありますか?パフォーマンスの違いはありますか?Pythonic Way™がまったくないので、さらに別の方法で実行する必要がありますか(ラムダの代わりにitemgetterを使用するなど)?

20
辞書をコピーして編集のみを行う方法
誰かがこれを私に説明してくれませんか?これは私には意味がありません。 辞書を別の辞書にコピーして2番目の辞書を編集すると、両方が変更されます。なんでこんなことが起こっているの? >>> dict1 = {"key1": "value1", "key2": "value2"} >>> dict2 = dict1 >>> dict2 {'key2': 'value2', 'key1': 'value1'} >>> dict2["key2"] = "WHY?!" >>> dict1 {'key2': 'WHY?!', 'key1': 'value1'}

30
エラー:vcvarsall.batが見つかりません
私はPythonパッケージdulwichをインストールしようとしました: pip install dulwich しかし、不可解なエラーメッセージが表示されます。 error: Unable to find vcvarsall.bat パッケージを手動でインストールしようとすると、同じことが起こります。 > python setup.py install running build_ext building 'dulwich._objects' extension error: Unable to find vcvarsall.bat


3
関数でPythonコードがより速く実行されるのはなぜですか?
def main(): for i in xrange(10**8): pass main() このPythonのコードは、以下で実行されます(注:タイミングは、LinuxのBASHのtime関数で実行されます)。 real 0m1.841s user 0m1.828s sys 0m0.012s ただし、forループが関数内に配置されていない場合、 for i in xrange(10**8): pass その後、より長い時間実行されます。 real 0m4.543s user 0m4.524s sys 0m0.012s どうしてこれなの?

30
クラスJSONをシリアライズ可能にする方法
Pythonクラスをシリアライズ可能にする方法は? 単純なクラス: class FileItem: def __init__(self, fname): self.fname = fname 次の出力を取得できるようにするにはどうすればよいですか。 >>> import json >>> my_file = FileItem('/foo/bar') >>> json.dumps(my_file) TypeError: Object of type 'FileItem' is not JSON serializable エラーなし

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