diff --git a/generic.go b/generic.go index 427e6f333cfffa4cdeb3a89e4a89ea0112cbf886..e89f256fa80c18909996770eb6ae987e9073dd8c 100644 --- a/generic.go +++ b/generic.go @@ -180,7 +180,7 @@ func (self *NDFrame) Empty() Series { func (self *NDFrame) Records() []string { ret := make([]string, self.Len()) - self.apply(func(idx int, v any) { + self.Apply(func(idx int, v any) { ret[idx] = AnyToString(v) }) return ret @@ -236,7 +236,7 @@ func (self *NDFrame) Mean() float64 { return NaN() } fs := make([]float64, 0) - self.apply(func(idx int, v any) { + self.Apply(func(idx int, v any) { f := AnyToFloat64(v) fs = append(fs, f) }) @@ -249,7 +249,7 @@ func (self *NDFrame) StdDev() float64 { return NaN() } values := make([]float64, self.Len()) - self.apply(func(idx int, v any) { + self.Apply(func(idx int, v any) { values[idx] = AnyToFloat64(v) }) stdDev := stat.StdDev(values, nil) diff --git a/generic_apply.go b/generic_apply.go index cba37d355a86fb3e63999f0e90618dda1310b834..b311406490e54151a93930794b2e687b0a921db6 100644 --- a/generic_apply.go +++ b/generic_apply.go @@ -2,7 +2,7 @@ package pandas import "reflect" -func (self *NDFrame) apply(f func(idx int, v any)) { +func (self *NDFrame) Apply(f func(idx int, v any)) { vv := reflect.ValueOf(self.values) vk := vv.Kind() switch vk { diff --git a/series.go b/series.go index fcc57dbbb9d55358ef26e981a64cd0473a501983..618cf8f7a0465532a58ebe40d03edb15d13b9ad0 100644 --- a/series.go +++ b/series.go @@ -75,6 +75,8 @@ type Series interface { Select(r Range) Series // Append 增加一批记录 Append(values ...interface{}) + // Apply 接受一个回调函数 + Apply(f func(idx int, v any)) } // NewSeries 指定类型创建序列