在Pandas中,如果你想从一列中重复减去一个数组,你可以使用apply
函数结合Python的列表推导式来实现。以下是一个示例代码:
import pandas as pd
# 创建一个示例DataFrame
df = pd.DataFrame({
'A': [10, 20, 30, 40],
})
# 减去的数组
subtract_array = [1, 2, 3]
# 定义一个函数来重复减去数组
def repeat_subtract(row, array):
return row - array[row.name % len(array)]
# 应用函数到每一行
df['result'] = df.apply(lambda row: repeat_subtract(row, subtract_array), axis=1)
print(df)
在这个例子中,我们创建了一个DataFrame df
,其中有一列名为A
。我们定义了一个数组 subtract_array
,然后创建了一个函数 repeat_subtract
,它会根据行索引对数组进行循环使用,并从行值中减去相应的数组元素。
最后,我们使用apply
函数将repeat_subtract
函数应用到DataFrame的每一行上,并将结果存储在新列result
中。
输出将会是:
A result
0 10 9
1 20 18
2 30 27
3 40 37
在这个输出中,你可以看到每一行的值都从相应的subtract_array
元素中减去了。
如果你遇到了问题,比如数组长度与DataFrame行数不匹配,或者减法操作不正确,可能的原因包括:
解决这些问题的方法包括:
如果你需要更多关于Pandas操作的信息,可以参考Pandas官方文档:https://pandas.pydata.org/pandas-docs/stable/index.html
领取专属 10元无门槛券
手把手带您无忧上云