問題タブ [pandasql]
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 Pandas to_sql、主キーを持つテーブルを作成する方法は?
主キーを持つ Pandas の to_sql 関数を使用して MySQL テーブルを作成したいと思います (通常、mysql テーブルに主キーがあると便利です)。
ただし、これにより、主キーのない (またはインデックスのない) テーブルが作成されます。
ドキュメントには、「index」パラメーターと組み合わせてインデックスを作成するために使用できるパラメーター「index_label」について言及されていますが、主キーのオプションについては言及されていません。
python - 複数の条件でのデータフレームのマージ - 特に等しい値ではありません
まず、これが少し長くなってしまったら申し訳ありませんが、私が問題を抱えていることと、私がすでに試したことを完全に説明したかったのです.
複数の条件で 2 つのデータフレーム オブジェクトを結合 (マージ) しようとしています。満たされる条件がすべて「等しい」演算子である場合にこれを行う方法は知っていますが、LESS THAN と MORE THAN を使用する必要があります。
データフレームは遺伝情報を表します。1 つはゲノム内の突然変異 (SNP と呼ばれる) のリストであり、もう 1 つはヒトゲノム上の遺伝子の位置に関する情報を提供します。これらに対して df.head() を実行すると、以下が返されます。
SNP データフレーム (snp_df):
これは、SNP 参照 ID とその場所を示しています。「BP」は「Base-Pair」位置を表します。
遺伝子データフレーム (gene_df):
このデータフレームは、対象のすべての遺伝子の位置を示しています。
私が知りたいのは、ゲノムの遺伝子領域内にあるすべての SNP であり、これらの領域の外にあるものは破棄します。
複数の (等しい) 条件に基づいて 2 つのデータフレームをマージしたい場合は、次のようにします。
ただし、この例では、染色体値が Gene データフレームの値と一致し、BP 値が「chr_start」と「chr_stop」の間にある SNP を見つける必要があります。これを困難にしているのは、これらのデータフレームが非常に大きいことです。この現在のデータセットでは、snp_df には 6795021 行があり、gene_df には 34362 行があります。
私は、染色体または遺伝子を別々に調べることによって、これに取り組もうとしました。性染色体は使用されないため、22 の異なる染色体値 (int 1 ~ 22) があります。どちらの方法も非常に時間がかかります。1 つはpandasql
モジュールを使用する方法で、もう 1 つは個別の遺伝子をループする方法です。
SQL メソッド
遺伝子反復法
これを行うためのより効果的な方法を提案できる人はいますか?
python - pandasql locals() および globals() メソッドの問題について
pandasql パッケージの sqldf メソッドには、「セッション/環境変数」があり、locals() または globals() の可能性があります。また、いつ locals() を使用する必要があるか、およびいつ globals() を使用する必要があるかについてのドキュメント参照はありますか?
https://github.com/yhat/pandasql/
これが私のコードで、pandansql が完全な locals() を探しているものを疑問に思っていますか? locals() はメソッド select_first_50 内の名前空間を意味しますか?
pandas - pandas.DataFrame.to_csv() を使用した数値形式の列?
以下を使用して、Microsoft SQL データベースから情報を読み取るプロセスがあります。
この関数は多くのプロセスで使用されるため、変数sql
は同じ列 (変数構造) を持ちません。
次に、たとえば次のデータを取得します。
この時点まではすべて問題ありません。
以下を使用して csv に抽出する場合:
出力は次のとおりです。
列 STORE に「.0」が追加されました...
関数「to_csv」を構成して、印刷に示されているとおりに(値)を正確に出力する方法はありますか? 前もって感謝します。
解決済み: 問題は小数オプションにありました:
応援してくれてありがとう!
python - Python Pandas で groupby と集計を実行する
次のようなデータフレームがあります
このtime15min
列には、ユーザーが携帯電話でゲームをプレイした 15 分のバケットが含まれています。
私がする必要があるのは、各ユーザーと各 time15min スロットについて、どのゲームが最もプレイされたかを示す列と、その間にアプリ内購入があったかどうかを示す集計データフレームを作成することです。
したがって、結果は次のようになります
A の最初のケースのように同点の場合は、最初のアルファベット順のもの (この場合はクラッシュ オブ クラン) を取ることができます。
python-2.7 - DataFrame オブジェクトで使用する場合、pandasql クエリをサニタイズする必要がありますか?
pandasを使用してcsvファイルをDataFrameにロードし、pandasqlを使用してSQL操作を実行する単純なアプリがあります。これらの操作の一部は、ユーザー入力から行われます。テストのために、私はラインを持っています
ここで、filterstring は生のユーザー入力です。これは明らかに SQL インジェクション ホールです。
通常、このようなデータベースを使用する場合、ユーザー入力をサニタイズしますが、この場合、必要はありますか? DataFrame はメモリ内にのみ存在し、使用されるファイルはすべてローカルであり、ディスク上の csv ファイルに対して実際には何も行われないため、そのクエリの出力を単に無視するだけでは解決できなかったサニタイズされていない DB クエリで、誰かがどのような害を及ぼす可能性がありますか? ?
編集: これが SQL インジェクション ホールであることは間違いありません。私の質問は、DB がローカル RAM にのみ存在する場合、なぜ気にするのですか?
sql - Python SQL スクリプトが実行されていません
SQL ステートメントに問題があるかどうか、またはこの Python コードに他の問題があるかどうか教えてもらえますか? スクリプトを実行できません。
regex - sqlite regex:列の値から「X」のカウントを返す方法
pandasql を使用してデータを変換しています。クエリ内で、たとえば電子メール アドレスのピリオド ('.') の数を取り出したいと考えています。SQLite は正規表現をサポートしていないようです。
SQLで私は書くことができます:
SQLite を使用したソリューションに関する専門知識を期待してください。前もって感謝します。