我有一个pandas数据帧'df',它有:
name a b
greg 1 1
george 2 2
giles 3 3
giovanni 4 5
我想通过计算函数运行此数据框来创建新列:c和d,以便得到以下结果数据帧:
name c d
greg 11 21
george 12 22
giles 13 23
giovanni 14 24
目前,我的代码如下:
我的钙化功能:
def calculate(row):
return row['a']+10, row['b']+20
我修改数据框的功能:
df['c'] = df.apply(calculate, axis=1)
我得到的结果数据框是:
name a b c
greg 1 1 (11, 21)
george 2 2(12, 22)
giles 3 3 (13, 23)
giovanni 4 4 (14, 24)
如何让我的数据框看起来像:
name c d
greg 11 21
george 12 22
giles 13 23
giovanni 14 24
答案 0 :(得分:0)
行迭代非常慢。做以下事情要好得多:
var app = angular.module("employeeApp" ,[]);
app.controller("Employee" , function($scope,$rootScope)
{
$rootScope.counter = (($rootScope.counter||0)+1);
$scope.FirstName = "demo";
$scope.LastName = "demo";
$scope.Validate = function () {
if ($scope.FirstName == 0 || $scope.LastName == 0) {
alert("No!")
} else {
alert("Yes!")
}
}
});
但是,要实现您的方法,您需要执行此操作:
df['c'] = df.a + 10
df['d'] = df.b + 20
df.drop(['a', 'b'], axis='columns', inplace=True)