問題タブ [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.

0 投票する
0 に答える
505 参照

python - 列の値を変更する Pandas Python LOC ILOC SETVALUE 難易度

かなり大きなコードで奇妙な問題が発生しました。通常、row_index 変数をヘルプとして使用しながら、.loc を使用してループ内の特定の列の特定のアイテムを変更します。以下があると仮定しましょう:

ループ内の印刷コマンドは、(最初の 6 回の反復で) 次のような結果をもたらします。

senti_pos_valueoutput_rowindex_listはどちらも整数値です。後者は、ループ内の反復ごとに 1 ずつ厳密に増加しています。

senti_pos_value自体は、さらに多くの複雑な操作 (約 400 行のコード) に基づいて任意に変更されます。ただし、最終結果は常に整数です。

したがって、すべての senti_pos_values を行ごとに同じ列に書き込みたいと思います。これまでのところ、このような問題は発生していませんが、最終的にコードが機能しないことが判明しました。ほとんど何も書き込まれず、Column1 の数値はゼロのままです (以下を参照)。

また、私は次のことを試しました:

と:

どちらも成功しません...受信した両方、つまりループ内の特定のアウトラインの 1 つ: output_rowindex_list = 113 および senti_pos_value = 4

上記のとおり: df.iloc[output_rowindex_list,df.columns.get_loc('Column1')]=senti_pos_value

ブレークポイントを設定して関連するコード行を手動で入力してもエラーは返されませんが、最終的なデータフレームは残念ながら私の列では次のようになります (print-command で表示されるのと同じ入力を参照します):

また、ブレークポイントをまったく設定せずにどのコマンドを使用しても、コードは常に壊れることなく機能することに注意してください。この場合、結果は常に上記の列 1 のとおりです。

私はパンダにそれほど慣れていませんが、それを理解するのに何時間もかかり、理由がわかりません...どんな助けも大歓迎です!

0 投票する
3 に答える
35806 参照

python - Python: Pandas シリーズ - loc を使用する理由

pandas データフレームに「loc」を使用するのはなぜですか? loc を使用して、または使用せずに、次のコードのように思われます。

また

では、なぜ loc を使用するのでしょうか。

編集:これは重複した質問としてフラグが立てられています。しかし、パンダ iloc 対 ix 対 loc の説明はありますか? それについて言及しています*

データ フレームのgetitemを使用するだけで、列の取得を行うことができます 。

*

loc を使用する理由については述べていませんが、loc の多くの機能について説明していますが、私の具体的な質問は、「なぜ loc を完全に省略しないのか」ということです。以下の非常に詳細な回答を受け入れました。

また、他の投稿の回答(私は回答ではないと思います)は議論に非常に隠されているため、私が探していたものを探している人は情報を見つけるのが難しく、提供された回答によってはるかに役立つでしょう.私の質問に。

0 投票する
1 に答える
2257 参照

python - pandas データフレーム列シリーズのすべての偶数行に文字列を追加する方法は?

私はパンダが初めてです。

pandas データフレームに新しい列を追加し、df奇数行ごとに「開始」を割り当て、偶数行ごとに「停止」を割り当てたいと考えています。

ただし、df.iloc[1::2, :] = "Start"そうすると、すべての列に「開始」文字列を含む新しい行が 2 番目ごとに挿入されます。

この場合、パンダは「開始」文字列をどの列に配置するかを認識していません。

ただし、正しい構文を理解できませんでした。

0 投票する
1 に答える
3397 参照

python - 軸1にブール配列を持つPandas loc()メソッド

loc()ブール配列を引数として使用する Pandas メソッドを試しています。

遊ぶための小さなデータフレームを作成しました:

そして、軸 1 で使用して多数の列をサブセット化するブール配列:

次に試しました:

エラーメッセージが表示されました:

IndexingError: Unalignable boolean Series キーが提供されました

ブール配列を適用して、いくつかの列をサブセット化するにはどうすればよいloc()ですか?