[英]Broadcast pandas.Series.div column-wise to a DataFrame
我有一個運行正常的操作,但是正在生成:
FutureWarning: TimeSeries broadcasting along DataFrame index by default
is deprecated.
因此,我想以與將來版本一致的方式進行計算。
我有一個pandas.Series
,我想將該Series
除以pandas.DataFrame
每一列。
假設我有和Series
,以及一個DataFrame
,具有以下形狀:
In [15]: my_series.shape
Out[15]: (1504,)
In [16]: my_df.shape
Out[16]: (1504, 4)
當我運行my_series/my_df
我得到了期望的結果:
In [17]: (my_series/my_df).shape
Out[17]: (1504, 4)
當然,實現pandas.Series.divide
運算符會返回一個錯誤:
In [18]: my_series.div(my_df)
ValueError: operands could not be broadcast together with shapes (1504) (1504,4)
我已經嘗試了series.apply
功能,但是沒有達到我的期望(根據我使用pandas.DataFrame.apply
):
In [19]: my_series.apply(pandas.Series.divide, my_df)
Out[19]: ValueError
In [22]: my_series.apply(pandas.Series.divide, lambda x: my_df[my_df.columns[x]])
Out[22]: TypeError
與往常一樣,任何見識將不勝感激。
我不敢相信我沒想到要這樣做……真的很尷尬。
In [24]: my_df.apply(lambda x: my_series.div(x)).shape
Out[24]: (1504, 4)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.