0
既存のパンダデータフレームmydf
に新しい列を割り当てようとしています。追加される系列は、文字列として渡される式を評価した結果です。発現は、例えば、Pythonの関数呼び出しを含むことができる:時系列データとgroupbyでpandasでassignを使用する
formula = 'myfunction(mydf.v1)'
myfunction
を
def myfunction(series):
return recursive_filter(series, 0.1)
を次のように次のコードは、式を評価し、myfunction
を実行し、mydf
mydf.assign(v2 = eval(formula))
に列
v2
を割り当てるあります
ただし、私はMarket
で関数を実行する必要があります。出力は
mydf.groupby('CrossSection').apply(mydf.assign(v2 = eval(formula)))
は、しかし、これは、このエラーを生成します(...私は正しい結果を生成することになるかわからない)私は、次のコードを試してみました
Market Date v1 v2
UK 2013-01-01 10 10.00
UK 2013-01-02 10 11.00
UK 2013-01-03 10 11.10
UK 2013-01-04 10 11.11
US 2013-01-01 10 10.00
US 2013-01-02 10 11.00
US 2013-01-03 10 11.10
US 2013-01-04 10 11.11
下記の表のようになります
TypeError: 'DataFrame' objects are mutable, thus they cannot be hashed