問題タブ [datashape]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - Python のデータシェイプでデコレータによって登録されたメソッドにパッチを適用するにはどうすればよいですか?
私はdatashape Python パッケージを使用しており、新しい型を@datashape.discover.registerデコレータに登録しています。datashape.discover登録しているタイプのオブジェクトを呼び出すと、装飾されている関数が呼び出されることをテストしたいと思います。また、テストで望ましくない副作用があるため、装飾されている関数を実際に実行しないことを意味する、優れた単体テストの原則でこれを行いたいと思います。ただし、これは機能しません。
問題を示すサンプル コードを次に示します。
myfile.py:
test_myfile.py:
問題は、モックしたい関数がテストの本体でモックされているようですが、装飾されたとき (つまり、インポートされたとき) はモックされませんでした。discover.register関数は基本的に、装飾されている関数を内部的に登録して、指定された型の引数で呼び出されたときに参照しますdiscover()。残念ながら、私が望むパッチを適用したバージョンではなく、毎回実際の関数を内部的に登録しているように見えるため、常に実際の関数を呼び出します。
装飾されている関数にパッチを適用し、呼び出されたときにdatashape.discover呼び出されると主張する方法について何か考えはありますか?
python - odo と SQLAlchemy を使用して CSV を MySQL にロードする
odo を使用して CSV ファイルを MySQL テーブルに書き込みます。
datashapeを指定しないと、すべての文字列列が TEXT として、すべての整数列が BIGINT(20) として MySQL テーブルが作成されます。そこで、次のデータシェイプを試してみたところ、以下のエラーが発生しました。
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: var
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: float16
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: uint32
NotImplementedError: SQLAlchemy dtype が datashape に一致しません: int8
理想的には、int8 を TINYINT にマップし、175 * var * 文字列を VARCHAR(175) にマップし、10 * 文字列を CHAR(10) にマップすることができますが、SQLAlchemy はこれをサポートしていないようです。すべてのデータ型を int32 または float32 に設定し、文字列型から var 指定を削除しました。
これにより、int32 が INT(11) に、float32 が DOUBLE にマップされます。私はこれで暮らすことができます。しかし、MySQL ですべての文字列列がまだ TEXT として書き込まれていることを受け入れることはできません。
MySQL で CHAR および VARCHAR データ型を取得するには、データシェイプをどのように変更する必要がありますか?
python - スパースな非正規化テーブルから xarray を作成する方法は?
次の構造化配列があるとします。
私dataは形をしてい(6, 5, 5)ます。しかし、実際には、その形状は ですが(3, 2, 5, 5)、列がaあり、b非正規化されているだけです。
列と長さを指定xarray DataArrayしてこの形状から直接作成し、形状を把握することは可能ですか? 何がありますか?(6, 5, 5)ab6xarray(3, 2, 5, 5)coordsdims
実際にtableは はまばらで、多くの次元を持っています。私は、自分自身xarrayを再形成する代わりに頼ることができる創造の機械がないかどうかを確認しようとしていますtable.
