我想使用pandas的apply()函数来代替对数据帧中每一行进行迭代,根据我的了解,这是更高效的方法。
我想要做的很简单:
temp_arr = [0,1,2,3]
# I know this is not a dataframe, just want to show quickly how it looks like.
temp_df is a 4x4 dataframe, simply: [[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
For each row in my temp_df, minus the corresponding number in the temp_arr.
比如说,我的数据框的第一行是[1,1,1,1],我想把它们减去temp_arr的第一个项(为0),那么输出应该是[1,1,1,1]。第二行是[2,2,2,2],我要从它们中减去temp_arr的第二项(为1),所以输出也应该是[1,1,1,1]。
如果我要减去一个常数,我知道可以轻松做到这一点:
temp_df.apply(lambda x: x-1)
但是这里的棘手之处在于我需要遍历我的temp_arr来获取减去的数字。有没有一种方法可以使用apply()完成这个操作?
[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]]
不是 DataFrame,而是一个列表。 - user554546temp_arr
转换成一个 Series,然后从你的行中减去它呢? - user554546