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

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


8
自動テストのセットに対してsetUpを1回だけ実行します
私のPythonバージョンは2.6です。 すべてのテストに必要なことを行うので、テストsetUpメソッドを1回だけ実行したいと思います。 私のアイデアは、最初の実行後に「true」に設定されるブール変数を作成し、セットアップメソッドへの複数の呼び出しを無効にすることでした。 class mySelTest(unittest.TestCase): setup_done = False def setUp(self): print str(self.setup_done) if self.setup_done: return self.setup_done = True print str(self.setup_done) 出力: False True --- Test 1 --- False True --- Test 2 --- なぜこれが機能しないのですか?私は何かを逃しましたか?

3
(row、col、values)のタプルのリストからパンダDataFrameを構築します
私はのようなタプルのリストを持っています data = [ ('r1', 'c1', avg11, stdev11), ('r1', 'c2', avg12, stdev12), ('r2', 'c1', avg21, stdev21), ('r2', 'c2', avg22, stdev22) ] そして、最初の列で名前が付けられた行と2番目の列で名前が付けられた列を持つパンダDataFrameにそれらを配置したいと思います。行名を処理するpandas.DataFrame([x[1:] for x in data], index = [x[0] for x in data])方法は次のようなもののようですが、2x2行列(前のセットからの出力は3x4)を取得するために列を処理するにはどうすればよいですか?行ラベルを明示的に省略するのではなく、行ラベルを処理するよりインテリジェントな方法はありますか? 編集2つのDataFrameが必要になるようです-1つは平均用、もう1つは標準偏差用ですが、それは正しいですか?または、各「セル」に値のリストを保存できますか?

2
パンダto_html()は文字列の内容を切り捨てます
DataFrameテキストデータを含むPythonPandasオブジェクトがあります。私の問題は、to_html()関数を使用すると、出力の文字列が切り捨てられることです。 例えば: import pandas df = pandas.DataFrame({'text': ['Lorem ipsum dolor sit amet, consectetur adipiscing elit.']}) print (df.to_html()) 出力はで切り捨てられます adapis... <table border="1" class="dataframe"> <thead> <tr style="text-align: right;"> <th></th> <th>text</th> </tr> </thead> <tbody> <tr> <th>0</th> <td> Lorem ipsum dolor sit amet, consectetur adipis...</td> </tr> </tbody> </table> SOには関連する質問がありますが、プレースホルダーと検索/置換機能を使用してHTMLを後処理しますが、これは避けたいと思います。 Pandasデータフレームの全内容をHTMLテーブルに書き込む この問題に対するより簡単な解決策はありますか?ドキュメントから関連するものは何も見つかりませんでした。
81 python  html  pandas 

9
PythonユニットテストのassertAlmostEqual-floatのコレクションのテスト
PythonのユニットテストフレームワークのassertAlmostEqual(x、y)メソッドは、とが浮動小数点数であると仮定してほぼ等しいかどうかをテストします。xy の問題assertAlmostEqual()は、フロートでのみ機能することです。assertAlmostEqual()フロートのリスト、フロートのセット、フロートの辞書、フロートのタプル、フロートのタプルのリスト、フロートのリストのセットなどで機能するような方法を探しています。 たとえば、みましょうx = 0.1234567890、y = 0.1234567891。xそしてy、彼らは最後のものを除き、それぞれ、すべての桁に同意するので、ほぼ等しくなっています。したがってself.assertAlmostEqual(x, y)あるTrueので、assertAlmostEqual()フロートのための作品。 assertAlmostEquals()次の呼び出しも評価する、より一般的なものを探していますTrue。 self.assertAlmostEqual_generic([x, x, x], [y, y, y])。 self.assertAlmostEqual_generic({1: x, 2: x, 3: x}, {1: y, 2: y, 3: y})。 self.assertAlmostEqual_generic([(x,x)], [(y,y)])。 そのような方法はありますか、それとも自分で実装する必要がありますか? 明確化: assertAlmostEquals()名前付きのオプションのパラメータがplacesあり、小数点以下の桁数に丸められた差を計算することによって数値が比較されますplaces。デフォルトではplaces=7、したがって、self.assertAlmostEqual(0.5, 0.4)はFalseですが、self.assertAlmostEqual(0.12345678, 0.12345679)はTrueです。私の投機assertAlmostEqual_generic()は同じ機能を持っているはずです。 2つのリストがまったく同じ順序でほぼ等しい数である場合、それらはほぼ等しいと見なされます。正式には、for i in range(n): self.assertAlmostEqual(list1[i], list2[i])。 同様に、2つのセットは、(各セットに順序を割り当てることによって)ほぼ等しいリストに変換できる場合、ほぼ等しいと見なされます。 同様に、各辞書のキーセットが他の辞書のキーセットとほぼ等しい場合、2つの辞書はほぼ等しいと見なされ、そのようなほぼ等しいキーペアごとに、対応するほぼ等しい値があります。 一般的に:2つのコレクションは、互いにほぼ等しい対応するフロートを除いて、等しい場合はほぼ等しいと見なします。言い換えれば、私は実際にオブジェクトを比較したいのですが、途中でフロートを比較するときは精度が低く(カスタマイズされています)。

5
Pythonプログラムからyoutube-dlを使用する方法は?
次のシェルコマンドの結果にアクセスしたいのですが、 youtube-dl -g "www.youtube.com/..." direct urlPythonプログラム内から、出力をファイルに出力します。これは私が試したことです: import youtube-dl fromurl="www.youtube.com/..." geturl=youtube-dl.magiclyextracturlfromurl(fromurl) それは可能ですか?私はソースのメカニズムを理解しようとしたが、迷子になりました:youtube_dl/__init__.py、youtube_dl/youtube_DL.py、info_extractors...


3
ipythonノートブックで幅設定をプロットする
私は次のプロットを持っています: 同じ幅の方が見栄えがします。私が使用しているときにipythonノートブックでそれを行う方法を知っています%matplotlib inlineか? 更新: 両方の図を生成するために、次の関数を使用しています。 import numpy as np import matplotlib.pyplot as plt def show_plots2d(title, plots, points, xlabel = '', ylabel = ''): """ Shows 2D plot. Arguments: title : string Title of the plot. plots : array_like of pairs like array_like and array_like List of pairs, where first element …

8
子クラスの名前を知らなくても、djangoでオブジェクトの子クラスにアクセスするにはどうすればよいですか?
Djangoでは、親クラスとそれを継承する複数の子クラスがある場合、通常はparentclass.childclass1_setまたはparentclass.childclass2_setを介して子にアクセスしますが、必要な特定の子クラスの名前がわからない場合はどうなりますか? 子クラス名を知らなくても、関連するオブジェクトを親->子方向に取得する方法はありますか?


7
ジェネレーターをループする方法
ジェネレーターをどのようにループできますか?私はこのように考えました: gen = function_that_returns_a_generator(param1, param2) if gen: # in case the generator is null while True: try: print gen.next() except StopIteration: break もっとパイソン的な方法はありますか?
81 python  generator 

7
位置引数とキーワード引数
基づいて、この 位置引数は、等号(=)とデフォルト値が後に続かない名前です。 キーワード引数の後には、等号とデフォルト値を与える式が続きます。 def rectangleArea(width, height): return width * height print rectangleArea(width=1, height=2) 質問>とは両方とも位置引数であるwidthと思いheightます。では、なぜキーワード引数構文で呼び出すことができるのでしょうか。
81 python 

7
pipinstallを使用せずにtar.gzファイルからPythonパッケージをインストールする方法
簡単に言えば、私の仕事用コンピュータにはネットワークの制約があります。つまりpip install、cmdで使用しようとすると、タイムアウトになるか、パッケージエラーが見つからないことになります。 例えば; 私がしようとするとpip install seaborn: 代わりに、必要なパッケージのtar.gzファイルをダウンロードしようとしましたが、インストール方法がわかりません。tar.gzファイルからファイルを抽出しました。その中に「セットアップ」ファイルがありますが、あまり効果がありません。 誰かがpip installWindowsで使用せずにこの方法でPythonパッケージをインストールする方法を説明できれば、それは素晴らしいことです。

13
PythonでASCIIテーブルをプリティプリントするにはどうすればよいですか?[閉まっている]
閉まっている。この質問は、StackOverflowのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善したいですか?質問を更新して、スタックオーバーフローのトピックになります。 2年前に閉鎖されました。 この質問を改善する 次のようなテーブルをきれいに印刷する方法を探しています。 ======================= | column 1 | column 2 | ======================= | value1 | value2 | | value3 | value4 | ======================= asciitableライブラリを見つけましたが、境界線などはありません。データ項目の複雑なフォーマットは必要ありません。それらは単なる文字列です。列のサイズを自動化するために必要です。 他のライブラリやメソッドが存在しますか、それとも自分で作成するのに数分かかる必要がありますか?
81 python  ascii  tabular 

1
どのような状況で、Apache Sparkの代わりにDaskを使用できますか?[閉まっている]
クローズ。この質問は意見に基づいています。現在、回答を受け付けていません。 この質問を改善したいですか?この投稿を編集して、事実と引用で回答できるように質問を更新してください。 4年前に閉鎖されました。 この質問を改善する 私は現在、データ分析にPandasとSparkを使用しています。Daskが並列化されたNumPy配列とPandasDataFrameを提供していることがわかりました。 Pandasは、Pythonでデータ分析を行うのに簡単で直感的です。しかし、システムメモリが限られているため、パンダで複数の大きなデータフレームを処理するのは困難です。 簡単な答え: Apache Sparkは、分散コンピューティング、SQLクエリ、機械学習などを組み合わせた包括的なフレームワークであり、JVMで実行され、通常、Hadoopなどの他のビッグデータフレームワークと共同でデプロイされます。...一般的に、DaskはSparkよりも小型で軽量です。 http://dask.pydata.org/en/latest/spark.htmlから以下の詳細を知ることができます Daskは軽量です Daskは通常、単一のマシンで使用されますが、分散クラスターでも適切に実行されます。 Daskは、並列配列、データフレーム、機械学習、カスタムアルゴリズムを提供します Daskはそれ自体がPythonライブラリであるため、Pythonユーザーにとって利点があります。そのため、問題が発生した場合のシリアル化とデバッグがよりスムーズに行われます。 Daskは、ユーザーがより複雑な並列アルゴリズムを表現できるように、高度な理解を放棄します。 Daskは軽量で、既存のコードやハードウェアに簡単に統合できます。 すべてを実行する単一のプロジェクトが必要で、すでにビッグデータハードウェアを使用している場合は、Sparkが安全です。 Sparkは通常、中小規模のクラスターで使用されますが、単一のマシンでも正常に動作します。 以下のリンクからDaskについて詳しく理解しています https://www.continuum.io/blog/developer-blog/high-performance-hadoop-anaconda-and-dask-your-cluster Pandas、NumPy、またはPythonで他の計算を使用しているときに、単一のマシンでメモリの問題、ストレージの制限、またはCPUの境界に遭遇した場合、Daskは単一のマシンのすべてのコアでスケールアップまたはスケールアウトするのに役立ちますクラスタ全体のすべてのコアとメモリで。 Daskは、単一のマシンでうまく機能し、ラップトップのすべてのコアを利用して、メモリよりも大きいデータを処理します 数百のノードを持つクラスターで弾力的かつ弾力的にスケールアップします。 Daskは、Hadoop分散ファイルシステム(HDFS)やAmazon S3など、さまざまな形式やストレージシステムのデータを使用してPythonからネイティブに動作します。AnacondaとDaskは、ClouderaCDHやHortonworksHDPなどの既存のエンタープライズHadoopディストリビューションと連携できます。 http://dask.pydata.org/en/latest/dataframe-overview.html 制限事項 Dask.DataFrameは、Pandasインターフェース全体を実装しているわけではありません。これを期待しているユーザーはがっかりするでしょう。特に、dask.dataframeには次の制限があります。 ソートされていない列から新しいインデックスを設定するにはコストがかかります groupby-applyやソートされていない列での結合などの多くの操作では、インデックスを設定する必要がありますが、前述のようにコストがかかります PandasAPIは非常に大きいです。Dask.dataframeは、多くのパンダ機能やNDFrameのようなよりエキゾチックなデータ構造の実装を試みません。 Dask開発者に感謝します。非常に有望な技術のようです。 全体として、Daskはsparkよりも使いやすいことがわかります。DaskはPandasと同じくらい柔軟性があり、より多くのCPUの並列処理で計算する能力があります。 Daskに関する上記の事実をすべて理解しています。 では、Daskで処理できるデータの量(テラバイト単位)はおおよそどれくらいですか?

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