<Python, pandas> パンダ、列の選択でちとはまったこと。
pandas
で列column
でちとはまったこと。
df[[n]]
と、df.iloc[:,n]
では、両方とも、columnn
が選択できる。が、
df[[n]]
はデータフレームDataFrame
df.iloc[:,n]
はシリーズSeries
を返す。
なので、df[[n]].values
を見ると違いがわかる。
In [24]: df Out[24]: 0 1 2 3 4 0 -0.116274 0.823030 -1.093909 1.047900 -0.172903 1 0.651332 0.216891 -0.207168 0.443501 -0.483327 2 3.261291 -1.642786 -0.913060 -0.681077 -0.241909 3 1.358165 0.568575 0.831260 -0.069240 -0.937170 4 0.979177 1.327348 0.295521 -0.195704 -0.538233 In [25]: df[[0]].values Out[25]: array([[-0.11627409], [ 0.65133205], [ 3.2612912 ], [ 1.35816484], [ 0.97917688]]) In [26]: df.iloc[:,0].values Out[26]: array([-0.11627409, 0.65133205, 3.2612912 , 1.35816484, 0.97917688])