pandasのDataframeの各列に個別にブロードキャスト

import pandas as pd

df = pd.DataFrame({
   'A': [10, 10],
   'B': [20, 20],
   'C': [30, 30]},
   index=[1, 2])

# リストでもタプルでもOK
multiple = (2,3,4)

# 各列に2, 3, 4を掛ける
df_multiple = df * multiple


# A	 B	 C 
# 1	 20	 60	120
# 2	 20	 60	120

こうすれば、いろいろなDataframeのパターンを一気に作れるので、総当たり最適化するのに使えそうです。

実は、なかなかできなくて、Seriesにしてから結合したりと、複雑な処理を試みてたのですが、超絶シンプルな方法で解決できたのでした。。pandasはこういうテクニックを修練すれば、かなり便利になるんだろうなー。熟練への道は遠い。。



この記事が気に入ったらサポートをしてみませんか?