問題タブ [pandas-loc]
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 - s.loc および s.first_valid_index() 使用時の KeyError
この投稿に似たデータがあります: pandas: Filling missing values within a group
つまり、私は多くの観察セッションのデータを持っており、各セッションには焦点となる個人がいます。その焦点個人は 1 回だけ記録されますが、そのセッション中に各行の焦点 ID データを入力したいと考えています。したがって、データは次のようになります。
上記のリンクの投稿に基づいて、次のコードを使用していました。
しかし、これは KeyError (具体的には KeyError:None) を返します。.loc のドキュメントによると、データが見つからない場合に KeyErrors が発生する可能性があります。そのため、確認したところ、152 個のセッションがありましたが、Focal 列には null 以外のデータ ポイントが 150 個しかありませんでした。Focal ID が欠落しているセッションを手動で検索する前に、次の 2 つの質問があります。
私はとても初心者です。これは、KeyError が発生する理由の合理的な説明ですか?
合理的である場合、Focal ID データが欠落しているセッションを特定する方法はありますか?
ここに出力:
python - loc と iloc を使用して pandas の割り当てを行うと、不可解な警告がポップアップする
私のコードには、次のステートメントがあります。
whereは、このステートメントが存在i
するループで使用した反復変数であり、インポートした numpy モジュールであり、次のような DataFrame です。for
np
df
ご覧のとおり、コード内のステートメントは、新しい行を DataFrame に挿入し、df
(新しく挿入された行内の) 最後の列に値を入力cycles
しNaN
ます。
ただし、そうすると、次の警告メッセージが表示されます。
ドキュメントを見ても、ここで発生している問題やリスクが何であるかをまだ理解していません。私はすでに推奨に従って使用loc
していると思いましたか?iloc
ありがとうございました。
ここで編集 @EdChumのリクエストで、上記のステートメントを使用する関数を以下に追加しました。
python - iloc と loc はどう違うのですか?
これら 2 つのスライス方法の違いを説明できる人はいますか?
私はdocs を見てきましたが、これらの 回答を見てきましたが、それでも 3 つの違いを理解できません。私には、それらはスライスのレベルが低いため、大部分は互換性があるように見えます。
たとえば、 a の最初の 5 行を取得したいとしますDataFrame
。この 2 つがどのように機能するのでしょうか。
用途の違いがより明確な 3 つのケースを誰か提示できますか?
むかしむかし、これらの 2 つの関数が pandas 1.0 から削除されたのとどのように異なるのかを知りたかったdf.ix[:5]
のでix
、もう気にしません。
python - 「レベル」引数が使用されている場合、pandas.DataFrame.xs() はマルチインデックスでエラーを返します
潜在的な pandas バグがあるか、これをずっと見つめていたのかもしれません。以前、マルチ インデックスで xs を使用する際に問題が発生したことはありません。コードは次のとおりです。pandas バージョン 0.16.2 の Python 2 と pandas バージョン 0.17.0 を実行している Python 3 の両方でエラーが発生することを確認しました。
ただし、レベルを指定しないと、次のように .loc を使用した場合と同じように機能します。
この動作について洞察を持っている人はいますか?
python - pandas groupby オブジェクトから各グループのサブセットを返す
次のようなマルチレベルのデータフレームがあります。
を反復処理し、list
最初の行ごとlist
に column の値をチェックし、value
そうであればFalse
、この行を削除します。したがって、最終的な目標は、の最初の行をすべて削除する
ことです。これは、ロジックのように見えるこのコードを使用していますlist
。False
value
しかし、私はこのエラーがあります
私の方法の何が問題なのか説明してもらえますか?
python - データフレームを更新するためのlocの使用 python pandas
列構造を持つ pandas データフレーム (df) があります。
このデータフレームには、たとえば1月、2月、3月、4月のデータがあります。A、B、C、Dは数値列です。Feb の月の場合、列 A を再計算してデータフレームで更新したい、つまり月 = Feb、A = B + C + D の場合
私が使用したコード:
これはエラーなしで実行されましたが、2 月の列 A の値は変更されませんでした。コンソールでは、次のメッセージが表示されました。
DataFrame からのスライスのコピーに値を設定しようとしています。
代わりに .loc[row_indexer,col_indexer] = value を使用してみてください
.loc を使用しようとしましたが、現在作業中のデータフレームを使用.reset_index()
していましたが、インデックスを設定して .loc を使用する方法がわかりません。ドキュメントに従いましたが、明確ではありません。ここで私を助けてくれませんか?これはデータフレームの例です:
2000-01-03 という 1 つの日付を更新したいと思います。リアルタイム データであるため、データのスニペットを提供できません。
pandas - パンダ、別の行のセルで .loc を使用する
いくつかの条件に基づいて大量のデータを操作しようとしています。1 つは同じ行に基づいており、もう 1 つは別の行のセルに基づいています。
たとえば、私はこのような df を持っています。
df['true'] = df.loc[:,['max','value']].min(axis=1)
「true」列を追加するには
しかし、「最大」2行上のセルの値に基づいて、「true」列に条件を追加したいと思います。.loc のように、この条件のデータフレーム全体を次のようなものでチェックしたいと思います
パンダはクエリが非常に得意なので、データフレーム全体を反復処理する if ステートメントを書きたくありません。
この場合の出力は次のようになります。
助言がありますか?
ありがとうございました
python - データフレーム loc - 予期しない動作
次のようなデータフレーム df があります。
Order Type の値に応じて Quantity 列の値の符号を変更しようとしました (つまり、Buy の場合は正に、Sell の場合は負にします)。
ただし、これは予想外の結果をもたらします (2 番目と 3 番目の販売値を参照)。
「署名」列を追加することで、この問題を回避できます。
とにかく問題の原因を突き止めたいと思います。
python - Pandas DataFrame で行を別の行から減算する
Pandas DataFrame で 1 つの行を別の行から減算しようとしています。1 つの数値列の前に複数の記述子列があるため、2 つの記述子列に DataFrame のインデックスを設定する必要があります。
これを行うと、列の set_index() リストにリストされている最初の列名が何であれ、 KeyError が発生します。この場合は「COL_A」です。
私はこれを再考しなかったので、なぜ KeyError がこれをどのように解決するのか理解できません。
pandas - Panel スライスの更新
データフレームからいくつかの値を削除して、パネル スライスを更新する必要があります。エラーが返されなくても、機能しません。何が悪いの?
次元が同じではないことに注意してください。インデックスを使用してデータを整列させたいと思います。同じ形状の配列に変換すると、必要なものが得られることはわかっていますが、別の解決策を見つけたいと思います。