DataFrameのノリでやろうとしたら上手く行かずにちょっと詰まったのでメモです。
NG例
1 2 3 4 5 6 7 8 |
import numpy as np import pandas as pd series = pd.Series(np.random.rand(10)) series = 0 print(series) # 0 |
DataFrameを経由する場合だと、
1 |
df['A'] = 1 |
のような形で指定できるので出来るんじゃないかなー、と思ったのですが駄目でした。
seriesという変数は、要素が全部0のpd.Seriesではなく、int 0が入っただけです(そりゃそう)。
ならばこうやる
じゃあどうするかと言うとこんな感じでやればOKです。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
import numpy as np import pandas as pd series = pd.Series(np.random.rand(10)) series[:] = 0 # または # series.loc[:] = 0 # series[...] = 0 print(series) # 0 0 # 1 0 # ... # 35 0 # 36 0 # dtype: int64 |
単純ですね。めでたしめでたし。
Seriesに限ったことなので、そんなに使うことは多くないと思うのですが、全部の値を初期化->一部の値だけ更新というようなことをする場合などは起きうると思うので覚えておいて損はない書き方です。