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

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

2
`typing.NamedTuple`サブクラスの` super`はPython 3.8で失敗します
Python 3.6では機能し、Python 3.8では失敗するコードがあります。次のように要約するとsuper、のサブクラスを呼び出すtyping.NamedTupleようになります。 <ipython-input-2-fea20b0178f3> in <module> ----> 1 class Test(typing.NamedTuple): 2 a: int 3 b: float 4 def __repr__(self): 5 return super(object, self).__repr__() RuntimeError: __class__ not set defining 'Test' as <class '__main__.Test'>. Was __classcell__ propagated to type.__new__? In [3]: class Test(typing.NamedTuple): ...: a: int ...: b: float ...: #def __repr__(self): …

3
Python3.8で新しいパッケージをインストールするときに、「モジュール「プラットフォーム」に属性「linux_distribution」がない」を修正するにはどうすればよいですか?
Pythonのバージョンは2.7と3.5でした。Python 3.8である新しいバージョンのPythonをインストールしたかったのです。Ubuntu 16.04を使用していますが、依存関係があるためPython 3.5をアンインストールできません。スクリプトを実行するには、を使用しますpython3.8 app.py。今のところ問題ありません。しかし、pipを使用して新しいパッケージをインストールする場合: python3.8 -m pip install pylint エラーをスローします: AttributeError: module 'platform' has no attribute 'linux_distribution' これまでのところ、私は試しました: sudo update-alternatives --config python3 そしてpython3.8を選択し、python3から始めてコマンドを実行しますが、運はありません。 次に: sudo ln -sf /usr/bin/python3.5 /usr/bin/python3 私もpython3からコマンドを実行してみましたが、うまくいきませんでした。 新しいバージョンのPythonに新しいパッケージをインストールできるように、どうすれば修正できますか?

5
「==」を使用すると、パンダでブールではなくシリーズが返されるのはなぜですか?
2行目で「==」の意味がわかりません。- テストではなく、ifステートメント がありません...-変数宣言ではありません... 私はこれまでこれまで見たことがdata.ctage==catありません、問題はパンダシリーズであり、テストではありません... for cat in data["categ"].unique(): subset = data[data.categ == cat] # Création du sous-échantillon print("-"*20) print('Catégorie : ' + cat) print("moyenne:\n",subset['montant'].mean()) print("mediane:\n",subset['montant'].median()) print("mode:\n",subset['montant'].mode()) print("VAR:\n",subset['montant'].var()) print("EC:\n",subset['montant'].std()) plt.figure(figsize=(5,5)) subset["montant"].hist(bins=30) # Crée l'histogramme plt.show() # Affiche l'histogramme

2
xarray逆補間(データではなく座標上)
次のDataArrayがあります arr = xr.DataArray([[0.33, 0.25],[0.55, 0.60],[0.85, 0.71],[0.92,0.85],[1.50,0.96],[2.5,1.1]],[('x',[0.25,0.5,0.75,1.0,1.25,1.5]),('y',[1,2])]) これにより、次の出力が得られます <xarray.DataArray (x: 6, y: 2)> array([[0.33, 0.25], [0.55, 0.6 ], [0.85, 0.71], [0.92, 0.85], [1.5 , 0.96], [2.5 , 1.1 ]]) Coordinates: * x (x) float64 0.25 0.5 0.75 1.0 1.25 1.5 * y (y) int32 1 2 または、便宜上、xと出力(z)を並べて下に並べ替えます。 x z (y=1) …

3
リスト内包表記を使用してタプルのリストを作成するのに括弧が必要なのはなぜですか?
関数型プログラミングHOWTOで述べたように、リスト内包表記を使用してタプルのリストを作成するには、括弧を使用する必要があります。特に、これは次の引用のドキュメントで表現されます。 Pythonの文法に曖昧さを導入しないようにするに は、式がタプルを作成している場合は、括弧で囲む必要があります。 したがって、例として: [x, y for x in seq1 for y in seq2] # This is a syntex error [(x, y) for x in seq1 for y in seq2] # This is a correct expression of list of tuples using list comprehension リスト内包表記を使用してタプルのリストを表現する際に括弧の使用を強制することにより、どのあいまいさを回避できますか?

3
Pandas Dataframe-20年の履歴データから1日の特定の時間を削除
20年前の1つの証券の株式市場データがあります。データは現在、次の形式でPandas DataFrameにあります。 問題は、DataFrameに「営業時間外」の取引データが必要ないことです。問題の市場は午前9時30分から午後4時までです(各取引日の09時30分から16時)。この時間枠内にないデータのすべての行を削除したいと思います。 私の本能はPandasマスクを使用することです。これは、1日で特定の時間を必要とする場合の方法を知っています。 mask = (df['date'] > '2015-07-06 09:30:0') & (df['date'] <= '2015-07-06 16:00:0') sub = df.loc[mask] ただし、20年の期間の1日の特定の時間のデータを削除するために回転ベースでどのように使用するかはわかりません。

3
Keras / Tensorflowでトレーニング可能な一般化されたバンプ関数レイヤーを実装する
コンポーネントごとに適用されるバンプ関数の次のバリアントをコーディングしようとしています: 、 ここで、σはトレーニング可能です。しかし、機能していません(エラーは以下に報告されています)。 私の試み: これが私がこれまでにコーディングしたものです(役立つ場合)。(たとえば)2つの関数があるとします。 def f_True(x): # Compute Bump Function bump_value = 1-tf.math.pow(x,2) bump_value = -tf.math.pow(bump_value,-1) bump_value = tf.math.exp(bump_value) return(bump_value) def f_False(x): # Compute Bump Function x_out = 0*x return(x_out) class trainable_bump_layer(tf.keras.layers.Layer): def __init__(self, *args, **kwargs): super(trainable_bump_layer, self).__init__(*args, **kwargs) def build(self, input_shape): self.threshold_level = self.add_weight(name='threshlevel', shape=[1], initializer='GlorotUniform', trainable=True) def …

3
複雑なAPI関数に対する小さな変更を文書化する方法は?
いくつかのライブラリからインポートされた複雑なAPI関数があるとします。 def complex_api_function( number, <lots of positional arguments>, <lots of keyword arguments>): '''really long docstring''' # lots of code 小さな変更を加えるために、その関数の周りに簡単なラッパーを書きたいと思います。たとえば、最初の引数を文字列として渡すことができるはずです。これを文書化する方法は?私は次のオプションを検討しました: オプション1: def my_complex_api_function(number_or_str, *args, **kwargs): ''' Do something complex. Like `complex_api_function`, but first argument can be a string. Parameters ---------- number_or_str : int or float or str Can be a …

1
四角の数字が入った箱の数独パズル
2日前に、Python 3で解決しようとした数独の問題が発生しました。解決策は存在するという通知を受けましたが、複数の解決策が存在するかどうかはわかりません。 問題は次のとおりです。数独の9x9グリッドが完全に空です。ただし、色付きのボックスは含まれており、これらのボックス内では、数値の合計は平方数でなければなりません。それ以外は、通常の数独のルールが適用されます。 ここでの問題は、数独パズルを解決することではなく、色付きのボックスのルールを満たす実行可能なパズルを生成することです。 私の戦略 numpy配列を使用して、グリッドを81個のインデックスに分割しました。これを9x9グリッドに再配置できます。 import numpy as np print(np.array([i for i in range(81)]).reshape((9, 9))) -> [[ 0 1 2 3 4 5 6 7 8] [ 9 10 11 12 13 14 15 16 17] [18 19 20 21 22 23 24 25 26] [27 28 29 30 …

3
極座標からデカルト座標への変換に従って2次元配列のデータを再配置します
極座標系の位置の関数値を表す2次元配列があります。例えば: import numpy as np radius = np.linspace(0, 1, 50) angle = np.linspace(0, 2*np.pi, radius.size) r_grid, a_grid = np.meshgrid(radius, angle) data = np.sqrt((r_grid/radius.max())**2 + (a_grid/angle.max())**2) ここでdataは、極座標に対応する長方形のグリッドに配置されます。軸が対応するデカルト座標系を表すように、配列内のデータを再配置したいと思います。古いレイアウトと新しいレイアウトは、次のように視覚化できます。 import matplotlib.pyplot as plt fig, (ax1, ax2) = plt.subplots(ncols=2, figsize=plt.figaspect(0.5)) ax1.set(title='Polar coordinates', xlabel='Radius', ylabel='Angle') ax1.pcolormesh(r_grid, a_grid, data) ax2.set(title='Cartesian coordinates', xlabel='X', ylabel='Y') x_grid = r_grid …

2
コンポジションエイリアスを実行するPythonの方法
コンポジションエイリアスを実行する最もPython的で正しい方法は何ですか? 架空のシナリオを次に示します。 class House: def cleanup(self, arg1, arg2, kwarg1=False): # do something class Person: def __init__(self, house): self.house = house # aliases house.cleanup # 1. self.cleanup_house = self.house.cleanup # 2. def cleanup_house(self, arg1, arg2, kwarg1=False): return self.house.cleanup(arg1=arg1, arg2=arg2, kwarg1=kwarg1) 私のテストしたエディターは#1のAFAIKでこれらを#2と同じように理解しています-自動補完、ドキュメント文字列など。 #1アプローチの欠点はありますか?Pythonの観点からどちらがより正しい方法ですか? メソッド#1を拡張できず、型ヒントのバリアントを追加しても、コメントで指摘されているすべての問題の影響を受けません。 class House: def cleanup(self, arg1, arg2, kwarg1=False): """clean …
8 python 

1
拡張画像やその他の機能を備えたKerasイテレータ
画像のデータセットと.csv、各画像のデータがいくつかあるとします。あなたの目標は、畳み込みブランチと他のブランチ(私の場合はMLP)を持つNNを作成することです。 さて、ネットワークを作成する方法についてはたくさんのガイド(ここでは1つ、もう1つ)がありますが、それは問題ではありません。 ここでの問題は、拡張画像を追加するKeras フローからの[[convolution_input, other_features], target]場合の形でイテレーターを作成する方法です。convolution_inputImageDataGenerator より具体的には、n番目の画像(拡張されたものであるかどうかに関係なく)がNNに供給されると、その内部の元の機能が必要になりますother_features。 私はいくつかの試みを見つけました(こことここで、2番目は有望に見えましたが、拡張画像を処理する方法を理解することができませんでした)それを正確に実行していましたが、Kerasジェネレータが行う可能性のあるデータセット操作を考慮していないようですします。

3
再帰的手続き内の「yield」
いくつかの変数の範囲を表すPythonリストがあるとします。 conditions = [['i', (1, 5)], ['j', (1, 2)]] これは、変数のi範囲が1〜5で、ループ変数のj範囲が1〜2であることを表しています。可能な組み合わせごとに辞書が必要です。 {'i': 1, 'j': 1} {'i': 1, 'j': 2} {'i': 2, 'j': 1} {'i': 2, 'j': 2} {'i': 3, 'j': 1} {'i': 3, 'j': 2} {'i': 4, 'j': 1} {'i': 4, 'j': 2} {'i': 5, 'j': 1} {'i': 5, 'j': 2} …

2
Scapy:パケットの周波数またはチャネルの取得/設定
LinuxでWIFIパケットをキャプチャして、パケットがキャプチャされた周波数/チャネルを確認しようとしています。Wiresharkを試したところ、運も助けもありませんでした。Wiresharkからのサンプルパケットを使用していますが、周波数/チャネルを確認できます。 だから今私はスケイピーで実験しています。スニッフィングされたパケットの周波数/チャネルを把握したかったのですが、まだ運がありません。Scapyでこれを行う方法はありますか? PS ScapyやPythonよりも優れたツールがある場合は、コメントをいただければ幸いです。

3
CaptchaでのPython画像処理ノイズの除去方法
私は画像処理に非常に慣れていないので、キャプチャしようとしていることはキャプチャからノイズを取り除くことです。 キャプチャについては、さまざまなタイプがあります。 最初のものは私がやったことです: まず、黒でないピクセルをすべて黒に変換しました。次に、画像からノイズのパターンを見つけて削除しました。最初のキャプチャについては、それをクリアするのは簡単で、テキストをテッセラクトで見つけました。 しかし、私は2番目と3番目の解決策を探しています。 これはどのようにする必要がありますか?それをクリアするための可能な方法は何ですか? これは私がパターンを削除する方法です: def delete(searcher,h2,w2): h = h2 w = w2 search = searcher search = search.convert("RGBA") herear = np.asarray(search) bigar = np.asarray(imgCropped) hereary, herearx = herear.shape[:2] bigary, bigarx = bigar.shape[:2] stopx = bigarx - herearx + 1 stopy = bigary - hereary + 1 pix …

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