差分

この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
programming:python:packages:pandas:update_multi_column [2019/06/12]
ikatakos [範囲の指定方法]
programming:python:packages:pandas:update_multi_column [2019/06/13] (現在)
ikatakos
ライン 1: ライン 1:
 ======DataFrameの値の更新 - pandas====== ======DataFrameの値の更新 - pandas======
  
-pandasは、DataFrameへのアクセス方法がいろいろあお世辞に統一的とは言えないので、よく「この書き方でいいんだっけ」と混乱する。+pandasは、DataFrameへのアクセス方法がいろいろあるため値の取得・代入もよく「この書き方でいいんだっけ」と混乱する。
  
-基本的には(一般的な代入と同じく)左辺で更新するデータ範囲を、右辺で値を指定するのだが、左辺データ範囲の指定方法が様々あるのに加え、右辺での値の指定にも複数方法がある。+基本的には(一般的な代入と同じく)左辺で更新するデータ範囲を、右辺で値を指定するのだが、左辺データ範囲の指定方法が様々あるのに加え、右辺での値の指定にも複数方法がある。
  
   df.loc[df['​col1'​]==3,​ ['​col2',​ '​col3'​]] = df['​col4'​]   df.loc[df['​col1'​]==3,​ ['​col2',​ '​col3'​]] = df['​col4'​]
 +  ​
 +  col1 が 3 である行の col2,col3 列を、ともに同行の col4 の値にする
  
 大別すると以下の感じ。 大別すると以下の感じ。
-左辺のアクセス関数に例えば配列を渡しても、関数の種類や配列の中身によって、名前か、添字か、どのように解釈されるか異なってくるのがややこしさの元となる。+左辺のアクセス関数に例えば配列を渡しても、関数の種類や配列の中身によって、名前か、添字か、どのように解釈されるか異なってくるのがややこしさの元となる。
  
   * 左辺のアクセス関数   * 左辺のアクセス関数
ライン 47: ライン 49:
   * [[http://​sinhrks.hatenablog.com/​entry/​2014/​11/​12/​233216|Python pandas データ選択処理をちょっと詳しく <​前編>​ - StatsFragments]]   * [[http://​sinhrks.hatenablog.com/​entry/​2014/​11/​12/​233216|Python pandas データ選択処理をちょっと詳しく <​前編>​ - StatsFragments]]
  
-loc, ilocは基本 ​''​[行,​ 列]''​ の順なのに比べ、getitemは時と場合でころころ変わりやがる+loc, ilocは原則 ​''​[行,​ 列]''​ の順locが名前、ilocが添字として解釈されるため意味を明確にコーディングしたい場合はそちらを使うのが良い。 
 + 
 +対してgetitemは、なんとなくよく使う方で解釈されるため、便利な反面、行なのか列なのか時と場合で変わり、紛らわしいので注意
  
 ^                                                                  |^  getitem ​                                                       ^  loc                                              ^  iloc                                         ^ ^                                                                  |^  getitem ​                                                       ^  loc                                              ^  iloc                                         ^
programming/python/packages/pandas/update_multi_column.txt · 最終更新: 2019/06/13 by ikatakos
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0