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

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


8
Pythonファイルモード「w +」で混乱
ドキュメントから、 モード「r +」、「w +」、および「a +」は、更新のためにファイルを開きます(「w +」はファイルを切り捨てます)。バイナリファイルとテキストファイルを区別するシステムで、ファイルをバイナリモードで開くには、モードに「b」を追加します。この区別がないシステムでは、「b」を追加しても効果はありません。 そしてここ w +:書き込みと読み取りの両方のためにファイルを開きます。ファイルが存在する場合、既存のファイルを上書きします。ファイルが存在しない場合は、読み取りおよび書き込み用に新しいファイルを作成します。 しかし、どのようにして開いたファイルを読み取るのですw+か?
201 python  file  io 


9
pandas.to_datetimeを使用する場合は日付部分のみを保持
pandas.to_datetimeデータの日付を解析するために使用します。datetime64[ns]日付はすべて毎日のみですが、パンダはデフォルトで日付を表します。私は日付を変換するエレガント/巧妙な方法があるかどうかを疑問に思うdatetime.dateかdatetime64[D]、私はCSVにデータを書き込む際に、日付がが付加されていない、ように00:00:00。要素ごとに手動で型を変換できることはわかっています。 [dt.to_datetime().date() for dt in df.dates] しかし、私は多くの行を持っているのでこれは本当に遅いです、そしてそれは一種のを使用する目的を無効にしpandas.to_datetimeます。dtype列全体を一度に変換する方法はありますか?またはpandas.to_datetime、毎日のデータを処理しながら時間の部分を取り除くことができるように、精度仕様をサポートしていますか?
201 python  pandas  csv  datetime  series 

11
Pythonで入れ子になったtry / exceptブロックはプログラミングの良い習慣ですか?
私は自分のコンテナを書いています。これは、属性呼び出しによって内部の辞書へのアクセスを提供する必要があります。コンテナの一般的な使用法は次のとおりです。 dict_container = DictContainer() dict_container['foo'] = bar ... print dict_container.foo このようなものを書くのはばかげているかもしれませんが、それは私が提供する必要がある機能です。私はこれを次の方法で実装することを考えていました: def __getattribute__(self, item): try: return object.__getattribute__(item) except AttributeError: try: return self.dict[item] except KeyError: print "The object doesn't have such attribute" 私は別の方法を使用することですので、必ずブロックを除いて、ネストされた試しが/良い練習しているかどうかではないんだhasattr()とhas_key()。 def __getattribute__(self, item): if hasattr(self, item): return object.__getattribute__(item) else: if self.dict.has_key(item): return self.dict[item] else: raise AttributeError("some customised error") …
201 python 

13
pysparkのデータフレーム列名を変更するにはどうすればよいですか?
私はパンダの背景から来ており、CSVファイルからデータフレームにデータを読み取り、次に単純なコマンドを使用して列名を便利なものに変更することに慣れています: df.columns = new_column_name_list ただし、sqlContextを使用して作成されたpysparkデータフレームでは同じことが機能しません。これを簡単に行うために私が理解できる唯一の解決策は次のとおりです。 df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', inferschema='true', delimiter='\t').load("data.txt") oldSchema = df.schema for i,k in enumerate(oldSchema.fields): k.name = new_column_name_list[i] df = sqlContext.read.format("com.databricks.spark.csv").options(header='false', delimiter='\t').load("data.txt", schema=oldSchema) これは基本的に変数を2回定義し、最初にスキーマを推論してから列名を変更し、更新されたスキーマでデータフレームを再度ロードします。 私たちがパンダのようにこれを行うためのより良い、より効率的な方法はありますか? 私のスパークバージョンは1.5.0です

20
パンダのデータフレーム文字列エントリを分割(分解)して行を分離する
pandas dataframeテキスト文字列の1つの列にカンマ区切りの値が含まれているがあります。各CSVフィールドを分割し、エントリごとに新しい行を作成します(CSVはクリーンで、 '、'でのみ分割する必要があると想定しています)。たとえば、次のaようになりbます。 In [7]: a Out[7]: var1 var2 0 a,b,c 1 1 d,e,f 2 In [8]: b Out[8]: var1 var2 0 a 1 1 b 1 2 c 1 3 d 2 4 e 2 5 f 2 これまでにさまざまな簡単な関数を試しましたが、この.applyメソッドを軸で使用すると、戻り値として1行しか受け入れられないようで.transform、作業できません。どんな提案も大歓迎です! データの例: from pandas import DataFrame import numpy as np a …

17
数値がintまたはfloatかどうかを確認します
ここに私がそれをした方法があります: inNumber = somenumber inNumberint = int(inNumber) if inNumber == inNumberint: print "this number is an int" else: print "this number is a float" そんな感じ。 これを行うための見栄えの良い方法はありますか?
200 python 

12
インストールされたパッケージをPyCharmでどのように使用しますか?
でPyCharm、私はPython環境を追加しました/usr/bin/python。しかしながら、 from gnuradio import gr 未定義の参照として失敗します。ただし、Pythonインタープリターではコマンドラインから正常に動作します。 GNURadioはPycharm外のpythonで正常に動作します。すべてがインストールされ、希望どおりに構成されています。 Gnuradioは次の場所にあります /usr/local/lib/python2.7/site-packages/gnuradio また: PYTHONPATH = / usr / local / lib / python2.7 / site-packages:/usr/local/lib/python2.7/site-packages/gnuradio
200 python  pycharm  gnuradio 

10
setup.pyでPython以外のファイルを含める
setup.pyコードの一部ではないファイルを含めるにはどうすればよいですか?(具体的には、ライセンスファイルですが、それ以外の場合もあります。) ファイルの場所を制御できるようにしたい。元のソースフォルダーでは、ファイルはパッケージのルートにあります。(つまり、最上位と同じレベルにあり__init__.pyます。)パッケージは、オペレーティングシステムに関係なく、インストールされたときに、その場所に正確に残しておく必要があります。それ、どうやったら出来るの?
200 python  distutils 

4
Pythonロギングの時間形式をカスタマイズする方法は?
私はPythonのロギングパッケージを初めて使用し、プロジェクトで使用する予定です。時間形式を好みに合わせてカスタマイズしたいと思います。これは私がチュートリアルからコピーした短いコードです: import logging # create logger logger = logging.getLogger("logging_tryout2") logger.setLevel(logging.DEBUG) # create console handler and set level to debug ch = logging.StreamHandler() ch.setLevel(logging.DEBUG) # create formatter formatter = logging.Formatter("%(asctime)s;%(levelname)s;%(message)s") # add formatter to ch ch.setFormatter(formatter) # add ch to logger logger.addHandler(ch) # "application" code logger.debug("debug message") logger.info("info message") logger.warn("warn message") …

7
曲線を正しい方法で滑らかにする方法は?
およそ次のように与えられるデータセットがあるとしましょう import numpy as np x = np.linspace(0,2*np.pi,100) y = np.sin(x) + np.random.random(100) * 0.2 したがって、データセットの20%の変動があります。私の最初のアイデアはscipyのUnivariateSpline関数を使用することでしたが、問題は小さなノイズを適切に考慮していないことです。周波数を考慮すると、背景は信号よりもはるかに小さいため、カットオフのみのスプラインが考えられるかもしれませんが、前後にフーリエ変換を行うため、動作が悪くなる可能性があります。別の方法は移動平均ですが、これには遅延の正しい選択も必要です。 この問題に取り組むためのヒント/本またはリンクはありますか?

21
インポートエラー:numpyという名前のモジュールはありません
私はこの質問と非常によく似た質問がありますが、それでも一歩遅れています。Windows 7(申し訳ありませんが)64ビットシステムにインストールされているPython 3のバージョンは1つだけです。 私はこのリンクに従ってnumpyをインストールしました-質問で示唆されているように。インストールはうまくいきましたが、実行すると import numpy 次のエラーが発生しました: インポートエラー:numpyという名前のモジュールはありません これはおそらく非常に基本的な質問ですが、まだ学習中です。 ありがとう

4
open withステートメントを使用してファイルを開く方法
Pythonでファイルの入出力を行う方法を探しています。ファイル内の名前に対して名前をチェックし、ファイル内の出現箇所にテキストを追加しながら、名前のリスト(1行に1つ)をファイルから別のファイルに読み取る次のコードを書きました。コードは機能します。それはもっとうまくできるでしょうか? with open(...ステートメントを入力ファイルと出力ファイルの両方に使用したかったのですが、それらが同じブロック内にどのように配置されるかを確認できません。つまり、一時的な場所に名前を保存する必要があります。 def filter(txt, oldfile, newfile): '''\ Read a list of names from a file line by line into an output file. If a line begins with a particular name, insert a string of text after the name before appending the line to the output file. ''' outfile = …
200 python  file  python-3.x  file-io  io 


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