我目前正试图找到一种pythonic的方法来“翻译”下面的R代码,它接收一个数据帧,其中有三列,分别是“strikeDeg”、“dipDeg”和“rakeDeg”,并附加三列:
这是一个更大的if循环的一部分,用于根据哪些列不为NULL来解析原始数据帧
geoPoleDirectionRotationFromData <- function(dataFrame) {
newFrame <- emptyDataFrame(nrow(dataFrame))
# Make rotation, pole, direction from strike, dip, rake.
newFrame$rotation <- lapply(1:nrow(dataFrame),
function(i) geoRotationFromStrikeDipRakeDeg(
c(dataFrame[i,]$strikeDeg, dataFrame[i,]$dipDeg, dataFrame[i,]$rakeDeg)))
newFrame$pole <- lapply(1:nrow(newFrame), function(i) newFrame$rotation[[i]][1,])
newFrame$direction <- lapply(1:nrow(newFrame), function(i) newFrame$rotation[[i]][2,])
newFrame
问题代码的一部分是如何在python中输入dataFrame的3个现有列上的3个新列中的每一个中执行lappy()函数?我需要从dataFrame的现有列创建一个向量并应用map()函数吗
只需使用
apply
函数,并指定axis
以匹配要应用它的维度您可以在下面的link中看到一个示例
在列上应用函数的简单示例:
我得到以下输出:
你可以看到,唯一的变化是在所有的列,你可以很容易地概括为你的愿望(例如)要应用于一个或多个特定列,可以将
apply
行更改为以下任一选项:相关问题 更多 >
编程相关推荐